在使用 React 开发项目的过程,我们都会使用 JSX 来描述 UI。今天我们就来聊聊什么是 JSX。
什么是 JSX
知识点:JSX 是 JavaScript 的一种语法拓展
根据 React 官网介绍 JSX 是 JavaScript 的语法拓展,它看起来像是模板语言,但拥有 JavaScript 的全部能力。解释一下就是:
- 可以使用类 HTML 语法和 JavaScript 语法来描述 UI
- 每个类 HTML 标签最终都将被转换为使用 JavaScript 语句 React.createElement。React.createElement 第一个参数为改标签类型,第二个参数为传递给它的属性,第三个及之后的元素为它的子标签。
- JSX 是 React.createElement 的语法糖,打包过程中通过 @babel/plugin-transform-react-jsx 成 React.createElement
下面我们举个例子,读者可使用 Babel 编译器 进行实验。
1 | // 一段 JSX |
为什么要使用 JSX
JSX 只是 React.createElement 的语法糖,所以可以直接使用 React.createElement 来描述 UI。但使用 React.createElement 来描述 UI 不够直观清晰,写法冗长,效率不够高。所以实际项目开发过程,我们一般使用 JSX。
1 | // 使用 JSX |
React.createElement
React.createElement 的调用方式是这样的 React.createElement(type, config, child1, child2)。
- type: 表现元素类型,