国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

React要點入門學習總結

Towers / 1111人閱讀

摘要:上面代碼中,通過為組件指定事件的回調函數,確保了只有等到真實發生事件之后,才會讀取屬性。七表單代碼九要點文本輸入框的值,不能用讀取,而要定義一個事件的回調函數,通過讀取用戶輸入的值。

一.JSX簡介

JSX即JavaScript XML,一種在React組件內部構建標簽的類XML語法。
在不使用JSX的情況下,React程序中創建DOM是這樣的:

//v0.11
React.DOM.h1({className: "title"}, "Title");
//v0.12
React.createElement("h1", {className: "title"}, "Title");

如果使用JSX的方式創建節點為:

Title

JSX的特征:

JSX是一種句法變換,每一個JSX節點都對應著一個JavaScript函數

JSX即不提供也不需要運行時庫

JSX并沒有改變或者添加JavaScript的語義,它只是簡單的函數調用。

代碼一


  
    
  
  
    

要點一:在整個Html文件中,只有定義了一個id為example的div標簽,當程序運行時,JavaScript代碼執行,
React會創建新的DOM節點,也就是

Hello,react!


ReactDOM.render(newDom,parentDom);這個函數是用來對視圖進行渲染新的節點,函數的參數主要有兩個,
一個是新的節點,另一個是新節點要放在哪個父節點中。

要點二:

要點:通過在JavaScript中定義變量,可嵌入JSX中使用動態變量,使用的語法為:

Hello,{name} !

代碼三


  
    
  
  
    

要點:可以通過傳入節點數組的方式,直接把數組給予新的節點,

{arr}
,JSX語法會根據數組的元素動態生成對應的子節點

三.組件構造使用

React的組件化模式是最大的亮點,組件中使用props或者state,當這兩個變量改變時,相應的DOM表現也會有所改變,這主要原因是一個
組件是一個狀態機,對于特定的輸入,他總會返回一致的輸出。

代碼四


  
    
  
  
    

要點一: 構造一個組件的語法使用ES6的標準進行,通過繼承React.Component,使用render() {...}進行渲染對應的標簽和變量輸出組件

要點二: 命名新構造的組件的第一個字母需要大寫!!!

要點三: 使用構造好的組件,通過使用標簽,其中name是傳遞進去的參數,在內部用this.props.name進行
調用變量

四.組件的生命周期 (1)組件的三個生命周期狀態:

1.Mounting:已插入真實 DOM

2.Updating:正在被重新渲染

3.Unmounting:已移出真實 DOM

(2)組件生命周期方法:

1.componentWillMount():改方法在完成首次渲染之前被調用。是在render方法調用前可以修改組件state的最后一次機會

2.componentDidMount():當render方法成功調用后,且DOM已經被渲染,可以在componentDidMount內部通過this.getDOMNode()方法訪問到DOM節點

3.componentWillUpdate(object nextProps, object nextState):組件在收到新的props或者state進行渲染之前,這時調用該方法

4.componentDidUpdate(object prevProps, object prevState):這個方法可以讓我們更新已經渲染好的DOM的機會

5.componentWillUnmount():當組件的生命結束時,這個方法就會被調用

(3)兩種特殊狀態的處理函數

1.componentWillReceiveProps(object nextProps):已加載組件收到新的參數時調用

2.shouldComponentUpdate(object nextProps, object nextState):組件判斷是否重新渲染時調用

五.數據流 (1)Props:

通過props可以把任意類型的數據傳遞給組件

var tables = [{title: "React"}]

可以通過this.props.tables訪問對應的屬性,然絕對不能修改。一個組件絕對不可以自己修改自己的props!!!

(2)PropsTypes:

通過在組件中定義一個配置對象。組件初始化時,如果傳遞的屬性和propsTypes不匹配,就會打印一個console.warn日志,
如果是可選的配置,就可以去掉isRequired。

代碼五



  


  

要點: 示例中定義了一個組件MyTitle,其中使用propTyps對組件的屬性類型進行匹配,defaultProps對組件的屬性類型設置默認值。

代碼六


  
    
  
  
    

要點: 通過this.props.children來獲取組件的子節點

(3)State

每個React組件都可以擁有自己的state,state與props的區別在于前者只存在于組件的內部中,this.props
表示那些一旦定義,就不再改變的特性,而 this.state 是會隨著用戶互動而產生變化的特性。state可以確定
視圖的狀態。

代碼七



  


  

要點:組件LikeButton通過constructor構造函數進行初始化狀態,this.state = {liked: false} 把liked的狀態設置為false,
然后通過handleClick綁定this,當用戶點擊按鈕時,改變liked變量的狀態,這時視圖也會隨著一起改變。

六.DOM操作

組件并不是真實的 DOM 節點,而是存在于內存之中的一種數據結構,叫做虛擬 DOM (virtual DOM)。只有當它
插入文檔以后,才會變成真實的 DOM 。根據 React 的設計,所有的 DOM 變動,都先在虛擬 DOM 上發生,然后
再將實際發生變動的部分,反映在真實 DOM上,這種算法叫做 DOM diff ,它可以極大提高網頁的性能表現。

代碼八



  


  

要點:組件 MyComponent 的子節點有一個文本輸入框,用于獲取用戶的輸入。這時就必須獲取真實的 DOM 節點,虛擬 DOM 是拿不到用戶
輸入的。為了做到這一點,文本輸入框必須有一個 ref 屬性,然后 this.refs.[refName] 就會返回這個真實的 DOM 節點。需要注意的
是,由于 this.refs.[refName] 屬性獲取的是真實 DOM ,所以必須等到虛擬 DOM 插入文檔以后,才能使用這個屬性,否則會報錯。上
面代碼中,通過為組件指定 Click 事件的回調函數,確保了只有等到真實 DOM 發生 Click 事件之后,才會讀取 this.refs.[refName]
屬性。

七.表單 代碼九



  


  

要點:文本輸入框的值,不能用 this.props.value 讀取,而要定義一個 onChange 事件的回調函數,通過
event.target.value 讀取用戶輸入的值。textarea 元素、select元素、radio元素都屬于這種情況

八.網絡請求 代碼十



  


  

要點:該實例代碼使用了Fetch API來進行數據獲取,Fetch API的具體如何使用在接下來的博客文章會介紹。

github倉庫鏈接:https://github.com/lgybetter/ReactDemo

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92364.html

相關文章

  • React 可視化開發工具 Shadow Widget 非正經入門(之一:React 三宗罪)

    摘要:前言非正經入門是相對正經入門而言的。不過不要緊,正式學習仍需回到正經入門的方式。快速入門建議先學會用拼文寫文檔注冊一個賬號,把庫到自己名下,然后用這個庫寫自己的博客,參見這份介紹。會用拼文寫文章,相當于開發已入門三分之一了。 本系列博文從 Shadow Widget 作者的視角,解釋該框架的設計要點,既作為用戶手冊的補充,也從更本質角度幫助大家理解 Shadow Widget 為什么這...

    dongxiawu 評論0 收藏0
  • 前端相關大雜燴

    摘要:希望幫助更多的前端愛好者學習。前端開發者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實踐譯者張捷滬江前端開發工程師當你問起有關與時,老司機們首先就會告訴你其實是個沒有網絡請求功能的庫。 前端基礎面試題(JS部分) 前端基礎面試題(JS部分) 學習 React.js 比你想象的要簡單 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 評論0 收藏0
  • React 可視化開發工具 Shadow Widget 非正經入門(之五:指令式界面設計)

    摘要:本篇解釋中類的控制指令,與指令式界面設計相關。本專欄歷史文章介紹一項讓可以與抗衡的技術可視化開發工具非正經入門之一三宗罪可視化開發工具非正經入門之二分離界面設計可視化開發工具非正經入門之三雙源屬性與數據驅動可視化開發工具非正經入門之四 本系列博文從 Shadow Widget 作者的視角,解釋該框架的設計要點。本篇解釋 Shadow Widget 中類 Vue 的控制指令,與指令式界面...

    pinecone 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<