- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- react入門(mén)級詳細筆記
react是用于構建用戶(hù)界面的JavaScript庫(只關(guān)注view)由Facebook開(kāi)源
<script src="../js/react.development.js"></script> <script src="../js/react-dom.development.js"></script> <script src="../js/babel.min.js"></script>
<script type="text/babel"> //必須聲明babel // 1、創(chuàng )建虛擬DOM元素 const vDom = <h1>Hello React</h1> // 千萬(wàn)不要加引號 // 2、渲染虛擬DOM到頁(yè)面真實(shí)DOM容器中 ReactDOM.render(vDom, document.getElementById('test')) </script>
React提供了一些API來(lái)創(chuàng )建一種特別的一般js對象
var element = React.createElement('h1', {id:'myTitle'},'hello')
上面創(chuàng )建的就是一個(gè)簡(jiǎn)單的虛擬DOM對象
虛擬DOM對象最終都會(huì )被React轉換為真實(shí)的DOM
我們編碼時(shí)基本只需要操作react的虛擬DOM相關(guān)數據, react會(huì )轉換為真實(shí)DOM變化而更新界面
var ele = <h1>Hello JSX!</h1>
注意1: 它不是字符串, 也不是HTML/XML
標簽
注意2: 它最終產(chǎn)生的就是一個(gè)JS對象
遇到 <開(kāi)頭的代碼, 以標簽的語(yǔ)法解析: html同名標簽轉換為html同名元素, 其它標簽需要特別解析
遇到以 { 開(kāi)頭的代碼,以JS語(yǔ)法解析: 標簽中的js代碼必須用{ }包含
瀏覽器不能直接解析JSX代碼, 需要babel轉譯為純JS的代碼才能運行
只要用了JSX,都要加上type=“text/babel”, 聲明需要babel來(lái)處理
語(yǔ)法:
ReactDOM.render(virtualDOM, containerDOM)
作用:
將虛擬DOM元素渲染到頁(yè)面中的真實(shí)容器DOM中顯示
React.createElement('h1',{id:'myTitle'}, title
JSX方式
<h1 id='myTitle'>{title}</h1>
代碼示例
<div id="app"></div> const test1 = 'MY TEST 1' // 1、創(chuàng )建虛擬dom:兩種方法 var element = React.createElement('h3',{id:app},test1) var element2 = <h3 id={test1}>{test1}</h3> // 2、渲染虛擬dom ReactDOM.render(element,document.getElementById('app')) ReactDOM.render(element2,document.getElementById('app'))
第一步:引入react.js相關(guān)庫
<script src="../js/react.development.js"></script> <script src="../js/react-dom.development.js"></script> <script src="../js/babel.min.js"></script>
第二步:定義根元素
<div id="app"></div>
第三步:在babel環(huán)境下寫(xiě)React代碼
<script type="text/babel"> // 1、創(chuàng )建虛擬dom元素對象 var vDOM = <h1>Hello W</h1> //不是字符串 // 2、將虛擬dom渲染為頁(yè)面真實(shí)dom容器中 ReactDOM.render(vDOM,document.getElementById('app')) </script>
到此這篇關(guān)于react入門(mén)級詳細筆記的文章就介紹到這了,該篇文章講述了React的基本概念和基本的使用以及一些React常用相關(guān)js庫,希望可以對你有所幫助
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站