最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react入門級(jí)詳細(xì)筆記

 更新時(shí)間:2021年06月22日 16:48:19   作者:Synchronize.  
這篇文章講述了React的基本介紹,基本使用和React相關(guān)js庫(kù).通過(guò)這篇文章可以入門React的使用,可以快速上手使用React進(jìn)行代碼的編寫

一、React的基本認(rèn)識(shí) 

1、介紹

react是用于構(gòu)建用戶界面的JavaScript庫(kù)(只關(guān)注view)由Facebook開源

2、 React的特點(diǎn)

  • Declarative(聲明式編碼)
  • Component-Based(組件化編碼)
  • Learn Once, Write Anywhere(支持客戶端與服務(wù)器渲染)
  • 高效
  • 單向數(shù)據(jù)流

3、React高效的原因

  • 虛擬(virtual)DOM, 不總是直接操作DOM
  • DOM Diff算法, 最小化頁(yè)面重繪

二、React的基本使用

1、相關(guān)js庫(kù)

  • `react.js`: React的核心庫(kù)
  • `react-dom.js`: 提供操作DOM的react擴(kuò)展庫(kù)
  • `babel.min.js`: 解析JSX語(yǔ)法代碼轉(zhuǎn)為純JS語(yǔ)法代碼的庫(kù)

2、在頁(yè)面中導(dǎo)入js庫(kù)

<script  src="../js/react.development.js"></script>
<script  src="../js/react-dom.development.js"></script>
<script src="../js/babel.min.js"></script>

3、編碼

<script type="text/babel"> //必須聲明babel
  // 1、創(chuàng)建虛擬DOM元素
  const vDom = <h1>Hello React</h1> // 千萬(wàn)不要加引號(hào)
  // 2、渲染虛擬DOM到頁(yè)面真實(shí)DOM容器中
  ReactDOM.render(vDom, document.getElementById('test'))
</script>

三、React JSX

1、虛擬DOM

React提供了一些API來(lái)創(chuàng)建一種特別的一般js對(duì)象

var element = React.createElement('h1', {id:'myTitle'},'hello')

上面創(chuàng)建的就是一個(gè)簡(jiǎn)單的虛擬DOM對(duì)象

虛擬DOM對(duì)象最終都會(huì)被React轉(zhuǎn)換為真實(shí)的DOM

​ 我們編碼時(shí)基本只需要操作react的虛擬DOM相關(guān)數(shù)據(jù), react會(huì)轉(zhuǎn)換為真實(shí)DOM變化而更新界面

2、JSX

  • 全稱: `JavaScript XML`
  • react定義的一種類似于XML的JS擴(kuò)展語(yǔ)法:`XML+JS`
  • 作用: 用來(lái)創(chuàng)建react虛擬DOM(元素)對(duì)象

var ele = <h1>Hello JSX!</h1>

注意1: 它不是字符串, 也不是HTML/XML標(biāo)簽

注意2: 它最終產(chǎn)生的就是一個(gè)JS對(duì)象

  • 標(biāo)簽名任意: HTML標(biāo)簽或其它標(biāo)簽
  • 標(biāo)簽屬性任意: HTML標(biāo)簽屬性或其它
  • 基本語(yǔ)法規(guī)則

遇到 <開頭的代碼, 以標(biāo)簽的語(yǔ)法解析: html同名標(biāo)簽轉(zhuǎn)換為html同名元素, 其它標(biāo)簽需要特別解析

遇到以 { 開頭的代碼,以JS語(yǔ)法解析: 標(biāo)簽中的js代碼必須用{ }包含

  • `babel.js`的作用

瀏覽器不能直接解析JSX代碼, 需要babel轉(zhuǎn)譯為純JS的代碼才能運(yùn)行

只要用了JSX,都要加上type=“text/babel”, 聲明需要babel來(lái)處理

3、渲染虛擬DOM元素

語(yǔ)法:

ReactDOM.render(virtualDOM, containerDOM)

  • 參數(shù)一: 純js或jsx創(chuàng)建的虛擬dom對(duì)象
  • 參數(shù)二: 用來(lái)包含虛擬DOM元素的真實(shí)dom元素對(duì)象(一般是一個(gè)div)

作用:
將虛擬DOM元素渲染到頁(yè)面中的真實(shí)容器DOM中顯示

4、創(chuàng)建虛擬DOM的方式

純JS方式

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

5、React 之 Hello World

第一步:引入react.js相關(guān)庫(kù)

<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)境下寫React代碼

<script type="text/babel">
// 1、創(chuàng)建虛擬dom元素對(duì)象
var vDOM = <h1>Hello W</h1>  //不是字符串
// 2、將虛擬dom渲染為頁(yè)面真實(shí)dom容器中
ReactDOM.render(vDOM,document.getElementById('app'))
</script>

到此這篇關(guān)于react入門級(jí)詳細(xì)筆記的文章就介紹到這了,該篇文章講述了React的基本概念和基本的使用以及一些React常用相關(guān)js庫(kù),希望可以對(duì)你有所幫助

相關(guān)文章

  • React實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel文件

    React實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel文件

    本文主要介紹了React實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel文件,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 基于CSS實(shí)現(xiàn)MaterialUI按鈕點(diǎn)擊動(dòng)畫并封裝成 React 組件

    基于CSS實(shí)現(xiàn)MaterialUI按鈕點(diǎn)擊動(dòng)畫并封裝成 React 組件

    筆者先后開發(fā)過(guò)基于vue,react,angular等框架的項(xiàng)目,碧如vue生態(tài)的elementUI, ant-design-vue, iView等成熟的UI框架, react生態(tài)的ant-design, materialUI等,這些第三方UI框架極大的降低了我們開發(fā)一個(gè)項(xiàng)目的成本和復(fù)雜度,使開發(fā)者更專注于實(shí)現(xiàn)業(yè)務(wù)邏輯和服務(wù)化
    2021-11-11
  • 深入理解React中何時(shí)使用箭頭函數(shù)

    深入理解React中何時(shí)使用箭頭函數(shù)

    對(duì)于剛學(xué)前端的大家來(lái)說(shuō),對(duì)于React中的事件監(jiān)聽寫法有所疑問(wèn)很正常,特別是React中箭頭函數(shù)使用這塊,下面這篇文章主要給大家深入的講解了關(guān)于React中何時(shí)使用箭頭函數(shù)的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Next.js搭建Monorepo組件庫(kù)文檔實(shí)現(xiàn)詳解

    Next.js搭建Monorepo組件庫(kù)文檔實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Next.js搭建Monorepo組件庫(kù)文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • React路由的history對(duì)象的插件history的使用解讀

    React路由的history對(duì)象的插件history的使用解讀

    這篇文章主要介紹了React路由的history對(duì)象的插件history的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • ReactJS?應(yīng)用兼容ios9對(duì)標(biāo)ie11解決方案

    ReactJS?應(yīng)用兼容ios9對(duì)標(biāo)ie11解決方案

    這篇文章主要為大家介紹了ReactJS?應(yīng)用兼容ios9對(duì)標(biāo)ie11解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 用React-Native+Mobx做一個(gè)迷你水果商城APP(附源碼)

    用React-Native+Mobx做一個(gè)迷你水果商城APP(附源碼)

    這篇文章主要介紹了用React-Native+Mobx做一個(gè)迷你水果商城APP,功能需要的朋友可以參考下
    2017-12-12
  • react中ref獲取dom或者組件的實(shí)現(xiàn)方法

    react中ref獲取dom或者組件的實(shí)現(xiàn)方法

    這篇文章主要介紹了react中ref獲取dom或者組件的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • React this.setState方法使用原理分析介紹

    React this.setState方法使用原理分析介紹

    我們知道,在React中沒(méi)有像Vue那種數(shù)據(jù)雙向綁定的效果。而this.setState方法就是用來(lái)對(duì)數(shù)據(jù)進(jìn)行更改的。而通過(guò)this.setState方法更改的數(shù)據(jù),會(huì)讓組件的render重新渲染,并且刷新數(shù)據(jù)
    2022-09-09
  • 使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽

    使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽

    這篇文章主要介紹了使用react-native-doc-viewer實(shí)現(xiàn)文檔預(yù)覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評(píng)論

叶城县| 礼泉县| 柞水县| 永靖县| 吉木乃县| 安宁市| 页游| 枣阳市| 远安县| 都兰县| 轮台县| 伊宁市| 贡嘎县| 张家口市| 元氏县| 通化市| 汤原县| 醴陵市| 万年县| 瑞金市| 黄山市| 闸北区| 佛学| 和静县| 突泉县| 班戈县| 赤壁市| 平湖市| 玛纳斯县| 扶风县| 沭阳县| 金湖县| 雷州市| 克拉玛依市| 新和县| 宁乡县| 普格县| 禄丰县| 吴堡县| 牟定县| 泸水县|