<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        React.js入門實例教程之創建helloworld的5種方式

        來源:懂視網 責編:小采 時間:2020-11-27 20:26:09
        文檔

        React.js入門實例教程之創建helloworld的5種方式

        React.js入門實例教程之創建helloworld的5種方式:一、ReactJS簡介React 是近期非常熱門的一個前端開發框架。React 起源于 Facebook 的內部項目,因為該公司對市場上所有 JavaScript MVC 框架,都不滿意,就決定自己寫一套,用來架設 Instagram 的網站。做出來以后,發現這套東西很好用,就在2013年5月開
        推薦度:
        導讀React.js入門實例教程之創建helloworld的5種方式:一、ReactJS簡介React 是近期非常熱門的一個前端開發框架。React 起源于 Facebook 的內部項目,因為該公司對市場上所有 JavaScript MVC 框架,都不滿意,就決定自己寫一套,用來架設 Instagram 的網站。做出來以后,發現這套東西很好用,就在2013年5月開
        一、ReactJS簡介

        React 是近期非常熱門的一個前端開發框架。React 起源于 Facebook 的內部項目,因為該公司對市場上所有 JavaScript MVC 框架,都不滿意,就決定自己寫一套,用來架設 Instagram 的網站。做出來以后,發現這套東西很好用,就在2013年5月開源了。由于 React 的設計思想極其獨特,屬于革命性創新,性能出眾,代碼邏輯卻非常簡單。所以,越來越多的人開始關注和使用,認為它可能是將來 Web 開發的主流工具。

        ReactJS官網地址:http://facebook.github.io/react/

        Github地址:https://github.com/facebook/react

        ReactJS中文地址:http://reactjs.cn/react/docs/getting-started.html

        React是什么?

        React是由工作在Facebook的優秀程序員開發出來的用于開發用戶交互界面的JS庫。其源碼由Facebook和社區優秀的程序員維護,因此其背后有著非常強大的技術團隊給予技術支持。React帶來了很多新的東西,例如組件化、JSX、虛擬DOM等。其提供的虛擬DOM使得我們渲染組件呈現非常之快,讓我們從頻繁操作DOM的繁重工作之中解脫。了解React的人都知道,它做的工作更多偏重于MVC中的V層,結合其它如Flux等一起,你可以非常容易構建強大的應用。

        二、ReactJS特點

        1,虛擬DOM

        通過DOM diff算法,只會更新有差異化的部分,不用渲染整個頁面,從而提高效率

        2,組件化

        把頁面分成若干個組件,組件中包含邏輯結構和樣式

        組件只包含自身邏輯,更新組件的時候可以預測,利于維護

        頁面拆分多個組件,可以做到重用

        3,單向數據流

        數據是從頂層組件傳遞到子組件中

        數據可控

        三、入門React 編寫 Hello,world 首先了解下什么是JSX

        React的核心機制之一就是虛擬DOM:可以在內存中創建的虛擬DOM元素。React利用虛擬DOM來減少對實際DOM的操作從而提升性能。類似于真實的原生DOM,虛擬DOM也可以通過JavaScript來創建,例如:

        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種方式

        第1種方式

        <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>

        五、上結果圖

        React.js入門實例教程之創建hello world 的5種方式

        附上代碼:

        <!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>

        下面給大家補充點知識:

        React 術語

        React Elements

        代表 HTML 元素的 JavaScript 對象。 這些 JavaScript 對象最后被編譯成對應的 HTML 元素。

        Components

        封裝 React Elements, 包含一個或者多個 React Elements。 Components 用于創建可以復用的 UI 模塊,例如 分頁,側欄導航等。

        JSX

        JSX 是 React 定義的一種 JavaScript 語法擴展,類似于 XML 。 JSX 是可選的, 我們完全可以使用 JavaScript 來編寫 React 應用, 不過 JSX 提供了一套更為簡便的方式來寫 React 應用。

        Virtual DOM

        Virtual DOM 是一個模擬 DOM 樹的 JavaScript 對象。 React 使用 Virtual DOM 來渲染 UI, 同時監聽 Virtual DOM 上數據的變化并自動遷移這些變化到 UI 上。

        更多React.js入門實例教程之創建hello world 的5種方式相關文章請關注PHP中文網!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        React.js入門實例教程之創建helloworld的5種方式

        React.js入門實例教程之創建helloworld的5種方式:一、ReactJS簡介React 是近期非常熱門的一個前端開發框架。React 起源于 Facebook 的內部項目,因為該公司對市場上所有 JavaScript MVC 框架,都不滿意,就決定自己寫一套,用來架設 Instagram 的網站。做出來以后,發現這套東西很好用,就在2013年5月開
        推薦度:
        標簽: js 種方式 hello
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费的黄色的网站| 美女又黄又免费的视频| 亚洲欧洲国产视频| 日韩免费人妻AV无码专区蜜桃 | 苍井空亚洲精品AA片在线播放| 亚洲欧洲日产国码av系列天堂| 亚洲自偷自偷在线成人网站传媒| 久久久久久噜噜精品免费直播 | sihu国产精品永久免费| 亚洲精品黄色视频在线观看免费资源 | 日韩在线a视频免费播放| 亚洲a∨无码精品色午夜| 免费人成网站7777视频| 亚洲人成777在线播放| aaa毛片视频免费观看| 久久精品国产亚洲AV麻豆~| 鲁死你资源站亚洲av| 亚洲区日韩区无码区| 在线a亚洲老鸭窝天堂av高清| 男的把j放进女人下面视频免费| 亚洲国产精品成人一区| 中文字幕av无码不卡免费| 热99re久久精品精品免费| 免费精品视频在线| 久久久综合亚洲色一区二区三区| 日韩毛片在线免费观看| 亚洲日韩中文字幕在线播放| 一区二区视频免费观看| 亚洲国产精品国自产拍AV| 美女网站免费福利视频| 九九久久精品国产免费看小说| 国产成人免费ā片在线观看| 中国极品美軳免费观看| 亚洲三级中文字幕| 亚洲女人被黑人巨大进入| 国产亚洲精品欧洲在线观看| 久久精品7亚洲午夜a| 最新69国产成人精品免费视频动漫 | 黄页网址在线免费观看| 四虎影视在线永久免费观看| 中文字幕免费在线观看动作大片|