原生js创建:document.createElement
// 方法1:document.createElement
const title = document.createElement('h1');
title.innerText='Hello React (method 1)';
title.className='main';
document.getElementById('root').appendChild(title);
React.createElement
用 React 的 createElement 来创建 React DOM。
// 方法2:React.createElement
import React from 'react';
import ReactDOM from 'react-dom';
const title = React.createElement("h1", {className: "main"}, "Hello React (method 2)");
ReactDOM.render(title, document.getElementById('root'));
其中 createElement(a, b, c)
- 第一个参数 a:表示元素的类型,比如:h1, div 等。
- 第二个参数 b:表示该元素上的属性,使用 JavaScript 对象方式表示。
- 第三个参数 c:表示该元素内部的内容,可以是文字,可以继续嵌套另外一个
React.createElement(a, b, c)。
这种方法其实在实际 React 开发中几乎不会使用,因为可以直接 JSX 方法。
JSX
JSX 是一种 JavaScript 的语法糖。
Facebook 开发JSX出来,主要用于 React 中。虽然 JSX 的内容会长得像 html,但还是 JavaScript。
代码如下:
// 方法3:JSX
import React from 'react';
import ReactDOM from 'react-dom';
const title = (
<h1>Hello React (method 3)</h1>
);
ReactDOM.render(title, document.getElementById('root'));