React(1)
React入门React 是一个用于构建用户界面的 JAVASCRIPT 库。有以下特点: Hello world例子: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script> <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> ReactDOM.render( <h1>Hello,world!</h1>,document.getElementById('example') ); </script> </body> </html>
实例中我们引入了三个库: react.min.js 、react-dom.min.js 和 babel.min.js: JSX语法: ReactDOM.render( <h1>Hello,document.getElementById('example') ); 上述代码为获取id 为example的标签 添加render里写的html标签或者执行js props -> properties 属性们 我们可以在 JSX 中使用 JavaScript 表达式。表达式写在花括号 {} 中。如下: ReactDOM.render( <div> <h1>{alert(1)}</h1> </div>,document.getElementById('example') ); 在 JSX 中不能使用 if else 语句,但可以使用 conditional (三元运算) 表达式来替代。 ReactDOM.render( <div> <h1>{i == 1 ? 'True!' : 'False'}</h1> </div>,document.getElementById('example') ); React 推荐使用内联样式。我们可以使用 camelCase 语法来设置内联样式. React 会在指定元素数字后自动添加 px : var style = { background-color: blue; }; ReactDOM.render( <h1 style = {style}>hello</h1>,document.getElementById('example') ); React 通过React.createClass新建组件,如果我们需要向组件传递参数,可以使用 this.props 对象: var HelloWorld = React.createClass({ render: function() { return <h1>Hello {this.props.world}!</h1>; } }); ReactDOM.render( <HelloWorld world="World"/>,document.getElementById('example') ); React 复合组件: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script> <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script> </head> <body> <div id="example" style="background-color: blue"></div> <script type="text/babel"> var Item = React.createClass({ render: function() { return ( <h1>{this.props.item}</h1> ); } }); var Pic = React.createClass({ render: function() { return ( <img src={this.props.src}/> ); } }); var List = React.createClass({ render: function() { return ( <div> <Item item={this.props.item} /> <Pic src={this.props.src} /> </div> ); } }); ReactDOM.render( <List item="hello react" src="http://www.ruanyifeng.com/blogimg/asset/2016/bg2016021201.png"></List>,document.getElementById('example') ); </script> </body> </html>
React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染 UI,让用户界面和数据保持一致。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script> <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> var LikeButton = React.createClass({ getInitialState: function() { return {liked: false}; },handleClick: function(event) { this.setState({liked: !this.state.liked}); },render: function() { var text = this.state.liked ? '喜欢' : '不喜欢'; return ( <p onClick={this.handleClick}> 你<b>{text}</b>我。点我切换状态。 </p> ); } }); ReactDOM.render( <LikeButton />,document.getElementById('example') ); </script> </body> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |