最基本的jsx語法什麼的,我就不介紹了,唯一覺得有用點的,就是宣告週期了。
下面的內容是轉來的,自己也可以網上去搜,我覺得別人歸納的挺不錯的,不過寫法可能不是es6的,不影響學習。
在元件的整個生命週期中,隨著該元件的props或者state發生改變,它的dom表現也將有相應的變化。元件本質上是狀態機;對於特定的輸入,它總會返回一致的輸出。
react為每個元件提供的生命週期分三個階段:
componentdidmount:在元件第一次繪製之後,會呼叫 componentdidmount(),通知元件已經載入完成。這個函式呼叫的時候,其虛擬 dom 已經構建完成,你可以在這個函式內通過this.getdomnode()
方法訪問到它,可以修改dom,也可以獲取到子元件。從這個函式開始,就可以和 js 其他框架互動了,例如設定計時 settimeout 或者 setinterval,或者發起網路請求。這個函式也是只被呼叫一次。這個函式之後,就進入了穩定執行狀態,等待事件觸發。
【注意】當react執行在服務端時,componentdidmount方法不會被呼叫
//下面**在hello元件載入以後,通過 componentdidmount 方法設定乙個定時器,
//每隔100毫秒,就重新設定元件的透明度,從而引發重新渲染。
var hello = react.createclass(;
},componentdidmount: function ()
this.setstate();
}.bind(this), 100);
},render: function () }>
hello
);}});
reactdom.render(
"world"/>,
document.body
);
隨著應用狀態的改變,以及元件逐漸受到影響,以下方法將會依次被呼叫
var helloworld = react.createclass(,
shouldcomponentupdate: function () ,
componentwillupdate: function () ,
render: function ()
; },
componentdidupdate: function() ,
});var hellouniverse = react.createclass(;
},handlechange: function (event) );
},render: function () >
"text" onchange= />
},});
react.render(
, document.body);
最後,當該元件被使用完成後,componentwillunmount方法將會被呼叫,在這個函式中,可以做一些元件相關的清理操作,例如取消計時器、網路請求等。
var helloworld = react.createclass(
; },
componentwillunmount: function() ,
});var hellouniverse = react.createclass(;
},handlechange: function (event)
this.setstate();
},render: function () >
"text" onchange= />
},});
react.render(
, document.body);
生命週期的**函式總結 react學習教程入門三 react中定義元件
我們知道react的一大特點是元件化,通過 react 構建元件,使得 更加容易得到復用,能夠很好的應用在大專案的開發中 react中建立元件的方式有兩種,一種是函式式元件,一種是類式元件 函式式元件適用於簡單元件的定義,通過在bebel語法環境裡建立乙個函式且首字母為大寫,比如示例中定義了乙個叫m...
React學習筆記(三)元件
元件 props 元件可以在它的輸出中引用其它元件,這就可以讓我們用同一元件來抽象出任意層次的細節。在react應用中,按鈕 表單 對話方塊 整個螢幕的內容等,這些通常都被表示為元件。react將作為props傳入並呼叫welcome元件。welcome元件將元素作為結果返回。functionwel...
react基礎學習三 資料雙向繫結
react的雙向資料繫結需要自己來實現,不像vue那樣可以直接使用v model指令。react的表單元素可分約束性和非約束性兩種。不受到react的約束,value的值有原生dom管理,value要寫成defaultvalue。value的值受到react的狀態state的管理,通過onchang...