天天看點

React-Redux

react-readux元件

https://github.com/reduxjs/react-redux

把一個元件拆成兩個部分,一個叫UI元件,一個叫容器元件。

1,UI元件,presentational component,純租金

特點:

  • 隻負責UI的呈現,不帶有任何的業務邏輯
  • 無狀态元件,沒有狀态(即不使用this.state這個變量)
  • 所有資料都由參數(this.props)提供
  • 不使用任何Redux的API

UI元件的例子:

const Title = value => <h1>{value}</h1>

2,容器元件

負責管理資料和邏輯

  • 負責管理資料和業務邏輯,不負責UI的呈現
  • 帶有内部狀态
  • 使用Redux的API

3,把一個UI元件轉成容器元件

React-Redux提供connect()方法,用于從UI元件生成容器元件。connect的意思,就是将這兩種租金連起來。

React-Redux

 TodoList是UI元件,VisibleTodoList就是由React-Redux通過coonnect()方法自動生成的容器元件。

3.1 mapStateToProps

建立一個從(外部的)state對象到(UI元件的)props對象的映射關系。

mapStateToProps會訂閱Store,每當state更新的時候,就會自動執行,重新計算UI元件的參數,進而觸發UI元件重新渲染

React-Redux

3.2 mapDispatchToProps

用來建立UI元件的參數到store.dispatch方法的映射。也就是說,它定義了哪些使用者的操作應該當做Action,傳給Store。它可以是一個函數,也可以是一個對象。

React-Redux

4,React-Redux提供Provider元件,可以讓容器元件拿到state.

React-Redux

如果覺得本文對您有幫助~可以支付寶(左)或微信支援一下:

看到小夥伴打賞時給我寫一些鼓勵的話,真的非常感動,謝謝你們。

我開了個微信公衆号(第三個二維碼)用來分享自己的職場英語相關學習經驗,感興趣可以關注,我會不斷更新~

React-Redux