var child1 = React.createElement("li", null, "First Text Content");var child2 = React.createElement("li", null, "Second Text Content");var root2 = React.createElement("ul", { className: "my-list" }, child1, child2);React.render(<div>{root2}</div>,document.getElementById("container5")); 使用这样的机制,我们完全可以用JavaScript构建完整的界面DOM树,正如我们可以用JavaScript创建真实DOM。但这样的代码可读性并不好,于是React发明了JSX,利用我们熟悉的HTML语法来创建虚拟DOM:var root =(<ul className="my-list"><li>First Text Content</li><li>Second Text Content</li></ul>);React.render(<div>{root}</div>,document.getElementById("container6"));四、React 编写Hello,world 入门的5种方式<div id="example1"></div><script type="text/jsx">React.render( //直接html<h1 className="classN1" >1 hellow 直接 html world </h1>, document.getElementById("example1"));</script>第2种方式
<div id="example2"></div><script type="text/jsx">React.render( //直接创建元素React.createElement("h1", {className:"classN2"}, "2 Hello, 直接创建元素 world!"), document.getElementById("example2"));</script> 第3种方式 <div id="example3"></div><script type="text/jsx">var CreateEl=React.createClass({render:function(){// return <h1>hellow 组件 创建 html world </h1> //有无括号均可 return (<h1 className="classN3" >3 hellow 组件 创建 html world </h1>);}});React.render( //组件方式创建元素<CreateEl/>, //或者双括号 <CreateEl></CreateEl>document.getElementById("example3"));</script> 第4种方式 <div id="example4"></div> <script type="text/jsx">var JsxCreateEl=React.createClass({ // 直接 jsx 方式 创建render:function(){return (React.createElement("h1", {className: "classN4"},"4 Hello, 直接 jsx 方式 创建 world! "))}});React.render( //组件方式创建元素React.createElement(JsxCreateEl, null), document.getElementById("example4"));</script> 第5种方式 <div id="example5"></div> <script type="text/jsx">var Hello=React.createClass({ // 模板 Hello render:function(){return (<span>{this.props.data}</span>)}});var World=React.createClass({ // 模板 world render:function(){return (<span> 和 World 模板拼接</span>)}});React.render( // 2个 模板 组件方式创建元素<h1 className="classN5" ><Hello data="5 hello" /><World /></h1>, document.getElementById("example5"));</script>五、上结果图
附上代码:
<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title><meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width" /></head><body><style>*{ margin:0; padding:0;}body{ background:#333;}#box{ background:url(loveImg/QioA-fxehfqi8208393.jpg) no-repeat center top; width:550px; border:8px solid #fff; -webkit-box-sizing:border-box; margin:50px auto;}#example1,#example2,#example3,#example4,#example5{ margin:20px auto; width:100%; background:rgba(255,255,255,.3); padding:5px 10px; font-size:13px; color:#f1f1f1;-webkit-box-sizing:border-box; }</style><div id="box"><div id="example1"></div><script type="text/jsx">React.render( //直接html<h1 className="classN1" >1 hellow 直接 html world </h1>, document.getElementById("example1"));</script><div id="example2"></div><script type="text/jsx">React.render( //直接创建元素React.createElement("h1", {className:"classN2"}, "2 Hello, 直接创建元素 world!"), document.getElementById("example2"));</script><div id="example3"></div><script type="text/jsx">var CreateEl=React.createClass({render:function(){// return <h1>hellow 组件 创建 html world </h1> //有无括号均可 return (<h1 className="classN3" >3 hellow 组件 创建 html world </h1>);}});React.render( //组件方式创建元素<CreateEl/>, //或者双括号 <CreateEl></CreateEl>document.getElementById("example3"));</script><div id="example4"></div> <script type="text/jsx">var JsxCreateEl=React.createClass({ // 直接 jsx 方式 创建render:function(){return (React.createElement("h1", {className: "classN4"},"4 Hello, 直接 jsx 方式 创建 world! "))}});React.render( //组件方式创建元素React.createElement(JsxCreateEl, null), document.getElementById("example4"));</script><div id="example5"></div> <script type="text/jsx">var Hello=React.createClass({ // 模板 Hello render:function(){return (<span>{this.props.data}</span>)}});var World=React.createClass({ // 模板 world render:function(){return (<span> 和 World 模板拼接</span>)}});React.render( // 2个 模板 组件方式创建元素<h1 className="classN5" ><Hello data="5 hello" /><World /></h1>, document.getElementById("example5"));</script></div><script src="build/react.min.js"></script><script src="build/JSXTransformer.js"></script></body></html>下面给大家补充点知识: