首页 > 其他分享 >React(二):JSX

React(二):JSX

时间:2023-07-17 17:11:23浏览次数:35  
标签:JavaScript React HTML 使用 JSX 大括号

一、什么是JSX

JSX是一种将HTML和JavaScript结合的语法扩展,它允许在JavaScript代码中直接编写HTML标记。

上一节在学习元素渲染的时候就已经使用过JSX语法来进行元素的定义:

const element = <h1>Hello React</h1>;

如上述语句所示,既不是字符串,又不是Html,而且直接在javascript中写Html语句。这就是JSX的特性,它允许将Html和javascript混写。

二、JSX的基本用法

在JSX中,遇到HTML标签 (以<开头)就会用HTML规则解析,遇到代码块(以{开头)就会用JavaScript规则进行解析。

 1.使用JSX书写HTML标签

有以下几点规则:

(1)只能返回一个根元素

错误示例:

const element = <h1>Hello React</h1><h1>JSX</h1>

正确示例:

const element = <div><h1>Hello React</h1><h1>JSX</h1></div>

(2)标签必须闭合

(3)使用驼峰命名法给大部分属性命名

JSX 最终会被转化为 JavaScript,而 JSX 中的属性也会变成 JavaScript 对象中的键值对。在你自己的组件中,经常会遇到需要用变量的方式读取这些属性的时候。但 JavaScript 对变量的命名有限制。例如,变量名称不能包含 - 符号或者像 class 这样的保留字。这就是为什么在 React 中,大部分 HTML 和 SVG 属性都用驼峰式命名法表示。例如,需要用 strokeWidth 代替 stroke-width。由于 class 是一个保留字,所以在 React 中需要用 className 来代替。

2.在JSX中书写JavaScript

(1)使用引号传递字符串

(2)使用大括号{}引用JavaScript变量

(3)使用大括号调用JavaScript函数

(4)使用大括号使用JavaScript对象

 

下面是一个JSX的简单使用示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>react元素渲染</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.js"></script>
    <style>
        .red-font {
            color: red;
        }
    </style>
</head>
<body>
    <!-- 根节点 -->
    <div id="example"></div>

    <script type="text/babel">

        var name = "React";

 
        ReactDOM.render(
            //使用JSX书写html标签
            <div>
                {/*使用大括号引用JS变量*/}
                <h1>Hello {name}</h1>
                {/*使用双引号传入字符串*/}
                <h1 className="red-font">Hello World</h1>
                {/*使用大括号调用JS函数*/}
                <h1>现在的时间是:{getDate()}</h1>
                {/*使用大括号使用对象*/}
                <h1 style={{
                    color:blur,
                    fontSize: 20
                }}>对象</h1>
            </div>,   
            document.getElementById('example')
        );

        function getDate() {
            return "1";
        }
    </script>
</body>
</html>

展示结果如下:

 

(本文仅作为个人学习记录用,如有纰漏敬请指正)

标签:JavaScript,React,HTML,使用,JSX,大括号
From: https://www.cnblogs.com/jmsstudy/p/17560520.html

相关文章

  • Reactjs学习笔记
    本篇是关于React的简介ReactJS是Facebook推出的一款前端框架,2013年开源,提供了一种函数式编程思想,拥有比较健全的文档和完善的社区,在React16的版本中对算法进行了革新,称之为ReactFiber。开发环境搭建需要nodeJS解析器,以及npm(node的包管理工具)如何引用React1.使用.js来引入......
  • react axios跨域解决方案
    跨域问题及其解决方案在Web开发过程中,由于同源策略的限制,浏览器会阻止发送跨域请求,这给前端开发带来了一定的挑战。而在使用React框架进行开发时,我们经常使用Axios库来进行数据通信,因此需要解决Axios跨域问题。本文将为您介绍React中使用Axios解决跨域问题的方案,并提供相应的代码......
  • React/Redux/React-Native 代码片段
    ES7+React/Redux/React-Native代码片段ES7+React/Redux/React-Nativesnippets一个使用react开发的代码片段插件。Snippetsinfo前置知识:代码片段中每个花括号{}和圆括号()内部的空格意味着将其推到下一行......
  • React18内核探秘:手写React高质量源码迈向高阶开发
    第1章课程简介试看1节|8分钟导学介绍课程内容,及你所获得~第2章登高望远,手写源码前的思想准备8节|54分钟建立全局观,为后续在源码中吸取精华做好思想准备,避免就源码而分析源码。第3章原始版-初始化渲染:实现最原始的渲染过程11节|122分钟实现初次渲染的基础逻辑,初步体验......
  • 在React之下,Context 或者 React-query库该如何选择
    首先,如果是服务器的状态需要用React-query库最方便,如果是客户端的状态用localstate+Context就可以了。 TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRuss......
  • 如何解决 React.useEffect() 的无限循环
    [如何解决React.useEffect()的无限循环-react.useeffect](https://www.51cto.com/article/654928.html)使用useEffect()时,你可能会遇到一个陷阱,那就是组件渲染的无限循环。在这篇文章中,会讲一下产生无限循环的常见场景以及如何避免它们。 useEffect()主要用来管理副作用,比......
  • react-d3-tree自定义节点使用案例
    react-d3-tree主要API及其中文解释:Tree组件的props:这些API提供了丰富的配置选项,可以用来定制树的外观和行为。例如,可以使用nodeSize属性调整节点的大小,使用pathFunc属性绘制自定义的连线,使用onClick属性处理节点的点击事件等等。data:树的数据对象。zoomable:指......
  • WPF开发中ReactiveUI.Fody的使用
    前面的开发一般我会使用PropertyChanged.Fody,但ReactiveUI.Fody也能实现类似的功能。安装Nuget包Install-PackageReactiveUI.FodyFodyWeavers.xml文件:<Weaversxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="FodyWeavers.xsd"......
  • react 内容
    1、初始安装react+ts npx create-react-appmy-app  npxcreate-react-appreact-ts --templatetypescript 安装为ts2、安装好react后面加上ts 2.1tsc--init 生产tsconfig.js{  "compilerOptions": {    "target": "es5" /**指定ECMAScrip......
  • React中编写操作树形数据的自定义Hook
    什么是Hookhook即为钩子,是一种特殊的函数,它可以让你在函数式组件中使用一些react特性,目前在react中常用的hook有以下几类useState:用于在函数组件中定义和使用状态(state)。useEffect:用于在函数组件中处理副作用,也可以模拟react生命周期useContext:用于在函......