React流水賬
1、腳手架的安裝
npm installl -g create-react-app
create-react-app my-app
cd my-app
npm start
2、暴露配置項
用create-react-app建立的專案中,為了避免一開始就費太多精力配置技術棧,webpack等配置都是封裝好的,如果需要修改,可以用如下命令將配置項“彈射”到應用的頂層(eject命令不可逆)。
npm run eject
3、可以使用標籤屬性值傳遞引數,在元件中使用props接收並使用,可以使用props.children來獲取標籤中text;props主要用於元件通訊父元件向子元件傳遞引數,不能改變原有值。
4、state用於改變元件內容狀態的值(動態),只能用於繼承自Component的元件,可以使用setstate來改變內部的值。
5、使用onClick來呼叫點選事件,注意字母的大小寫。
6、render函式中可使用三目運算子來實現if分支。
7、React中儘量使用無狀態的元件(函式),有狀態的元件在執行過程中會執行生命週期函式。
8、生命週期:
8.1、getDefaultProps()
設定預設的props,也可以用dufaultProps設定元件的預設屬性.
8.2、getInitialState()
在使用es6的class語法時是沒有這個鉤子函式的,可以直接在constructor中定義this.state。此時可以訪問this.props
8.3、componentWillMount()
元件初始化時只呼叫,以後元件更新不呼叫,整個生命週期只呼叫一次,此時可以修改state。
8.4、 render()
react最重要的步驟,建立虛擬dom,進行diff演算法,更新dom樹都在此進行。此時就不能更改state了。
8.5、componentDidMount()
元件渲染之後呼叫,只呼叫一次。
更新
8.6、componentWillReceiveProps(nextProps)
元件初始化時不呼叫,元件接受新的props時呼叫。
8.7、shouldComponentUpdate(nextProps, nextState)
react效能優化非常重要的一環。元件接受新的state或者props時呼叫,我們可以設定在此對比前後兩個props和state是否相同,如果相同則返回false阻止更新,因為相同的屬性狀態一定會生成相同的dom樹,這樣就不需要創造新的dom樹和舊的dom樹進行diff演算法對比,節省大量效能,尤其是在dom結構複雜的時候
8.8、componentWillUpdata(nextProps, nextState)
元件初始化時不呼叫,只有在元件將要更新時才呼叫,此時可以修改state
8.9、render()
元件渲染
8.10、componentDidUpdate()
元件初始化時不呼叫,元件更新完成後呼叫,此時可以獲取dom節點。
解除安裝
8.11、componentWillUnmount()
元件將要解除安裝時呼叫,一些事件監聽和定時器需要在此時清除。
相關文章
- Retrofit流水賬
- 實習面試流水賬面試
- 事件溯源與流水賬的結賬模式事件模式
- 流水賬系列之Canvas繪製-02Canvas
- 流水賬系列之Canvas基礎-01Canvas
- 一個Android黨的年度流水賬Android
- [書呆子]值得看的流水賬——《ACM圖靈獎》ACM圖靈
- 五年程式設計師記流水賬式的自白。程式設計師
- R語言中如何獲取幫助資訊,以及今日流水賬R語言
- 萬級TPS億級流水-中臺賬戶系統架構設計架構
- 流水線
- 網上網賭提款遇到提款成功不到賬平臺客服說流水不足怎麼辦?
- 流水燈實現
- maven流水線上雲Maven
- 流水線技術
- jenkinsfile流水線Jenkins
- UICollectionView左對齊流水佈局、右對齊流水佈局UIView
- Azure DevOps (五) 推送流水線製品到流水線倉庫dev
- MacOS Docker本地部署流水MacDocker
- SQL Server的流水模式SQLServer模式
- 雲效配置流水線
- 九、Redis之流水線Redis
- 03-kubesphere流水線搭建
- sql 流水號的遞增SQL
- Jenkins流水線共享庫Jenkins
- [原始碼解析] 深度學習流水線並行Gpipe(1)---流水線基本實現原始碼深度學習並行
- 使用Kubeflow構建機器學習流水線機器學習
- 瀏覽器渲染流水線解析瀏覽器
- 使用兩個FIFO完成流水操作
- 【計組5.5】指令流水線
- MarkDown/reST 文件釋出流水線REST
- 【GLSL教程】(一)圖形流水線
- Golang協程併發的流水線模型Golang模型
- MIPS 架構流水線處理器架構
- 怎樣生成分散式的流水ID分散式
- 企業DevOps之路:Jenkins 流水線devJenkins
- ARM學習之GPIO實現流水燈
- linux成長之路(QT Creator 流水帳)LinuxQT