说说react 中jsx语法糖的本质?

简介: React 使用 JSX 来替代常规的JavaScript。JSX 是按照 XML 语法规范 的 JavaScript 语法扩展。JSX 语法的本质:并不是直接把 JSX 渲染到页面上,而是内部先转换成了 createElement 形式,再渲染的。

一.基本概念

React 使用 JSX 来替代常规的JavaScript。

JSX 是按照 XML 语法规范 的 JavaScript 语法扩展。

JSX 语法的本质:并不是直接把 JSX 渲染到页面上,而是内部先转换成了 createElement 形式,再渲染的。


二.jsx优点

1.JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化;

2.它是类型安全的,在编译过程中就能发现错误;

3.使用 JSX 编写模板更加简单快速。


三.jsx基本使用

1.定义虚拟DOM时不要用引号

let VDOM = <h1>hello,react</h1>

2.标签混入JS表达式需要用{ }

let str  = "hello,react!";
let VDOM = (
  <h1><span>{str}</span></h1> 
)

3.className样式的类名

let VDOM = (
        <h1 className='demo'><span>hello,react!</span></h1>
)

4.内联样式用style={{}}

let VDOM = (
<h1 className='demo'><span style={{color:'blue',fontSize:'30px'}}>hello,react!</span></h1>
 )

5.只有一个根标签

 // 定义虚拟dom 
const VDOM =(
    <div>
      <p style={{color:'green',fontSize:'20px'}}>姓名:react</p>
      <p className="myage">年龄:18</p>
    </div>
)
ReactDOM.render(VDOM, document.getElementById('root'));

6.标签必须闭合

<input type="text" name="" value=""></input>

7. 标签首字母

1.若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。

2.若大写字母开头,react就去渲染对应组件,若组件没有定义,则报错。

相关文章
|
6月前
|
前端开发 JavaScript 开发者
React:JSX语法入门
React:JSX语法入门
85 0
|
6天前
|
XML 前端开发 JavaScript
react之了解jsx
react之了解jsx
|
2月前
|
前端开发 JavaScript
学习react基础(3)_setState、state、jsx、使用ref的几种形式
本文探讨了React中this.setState和this.state的区别,以及React的核心概念,包括核心库的使用、JSX语法、类与函数组件的区别、事件处理和ref的使用。
66 3
学习react基础(3)_setState、state、jsx、使用ref的几种形式
|
3月前
|
XML JavaScript 前端开发
React Jsx语法入门
【8月更文挑战第13天】React Jsx语法入门
43 4
|
6天前
|
JavaScript 前端开发 容器
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
|
23天前
|
XML 前端开发 JavaScript
React JSX
React 使用 JSX(一种类似 XML 的 JavaScript 语法扩展)来替代传统 JavaScript 编写 UI。JSX 使代码更简洁、执行更快且类型安全。例如,`&lt;h1&gt;Hello, world!&lt;/h1&gt;` 实际上是创建一个 React 元素,通过 `ReactDOM.render()` 渲染到 DOM。注意,JSX 中使用 `className` 替代 HTML 的 `class` 属性。
|
6天前
|
存储 前端开发 JavaScript
react之jsx编译原理
react之jsx编译原理
|
1月前
|
XML 前端开发 JavaScript
React JSX
10月更文挑战第7天
14 2
|
3月前
|
前端开发 JavaScript
React Server Component 使用问题之添加jsx的组件化能力,如何操作
React Server Component 使用问题之添加jsx的组件化能力,如何操作
|
3月前
|
前端开发 JavaScript 开发者
React组件与JSX之间的区别是什么
【8月更文挑战第9天】 React组件与JSX之间的区别是什么
62 4