React的一個最大的特色就是組件化的開發模式。今天就來試一下:css
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="../src/react-0.14.3/build/react.js"></script> <script src="../src/react-0.14.3/build/react-dom.js"></script> <script src="../src/react-0.14.3/build/browser.min.js"></script> </head> <body> <div id='header'> </div> <hr style="clear:both" /> <div id="body"> <div> Hi this is test page</div> </div> <hr /> <div id="footer"></div> <script type="text/babel"> var JMFooter = React.createClass({ render: function() { return ( <div className="footer"> <a href="/AboutUS.aspx">關於博客園</a> <a href="/ContactUs.aspx">聯繫咱們</a> ©2004-2015<a href="http://www.cnblogs.com/">博客園</a> 保留全部權利 <a href="http://www.miitbeian.gov.cn" target="_blank">滬ICP備09004260號</a> </div> ); } }); var JMHeader = React.createClass({ render: function(){ return <div><div style={{color:'red'}}><h1 >Jimson Blog</h1></div><h3>今天是{this.props.date} </h3></div>; } }) ReactDOM.render( <JMHeader date={(new Date).toDateString()} style={"float:left"}/>, document.getElementById('header') ); ReactDOM.render( <JMFooter />, document.getElementById('footer') ); </script> </body> </html>
建立兩個組件Header,和Footer。 常見的網站頭部和底部(這裏直接複製了博客園的地步) 看效果:html
有幾個問題JSX語法的問題:react
1. 添加css 類,<div class="footer"> 是沒有效果的,也不會渲染熟悉,正確的是 <div className="footer">git
2. 添加style,<div style="color:red">是直接報錯的,這裏JSX語法不支持這樣的,正確的寫法是 <div style={{color:'red'}}>github
3. 建立組件:React.createClass的render方法只能返回一個封裝的節點,多個節點就會報錯。如:return<h1></h1><h2></h2> 報錯,return <div><h1></h1><h2></h2></div> 是成功的。babel
4. jsx不會寫,不要緊,用 jsx compiler 直接把html翻譯過來。dom