20180911 redux 粗淺使用
redux是一個狀態管理器
redux的三個部分:
action
-
reducer
用於生成各種state, state就是redux的資料載體,可以是陣列,也可以是物件
-
store
// store由createStore生成 const store = createStore(store);
-
dispatch
// dispatch需要派發屬性為type的物件,這個物件一般都在action中存著 store.dispatch({ type:'aciton' });
-
subscribe
// 訂閱store的變化 let sub = store.subscribe(listener); // subscribe 返回的函式用來登出相應的監聽器 sub();
-
getState
// getState 是一個方法,獲取當前的狀態 store.getState(); // 結合上一個api進行使用 store.subscribe(() => { store.getState(); // 監聽並獲取當前的狀態 })
-
react-redux
-
Provider (這是一個元件)
元件有一個屬性 store 傳入的就是 上面生成的store
-
connect (HOC 這是一個高階元件)
const ComponentTest = (props) =>
const NewComponent = connect( mapStateToProps, mapDispatchToProps )(ComponentTest) -
mapStateToProps 這裡需要返回一個物件
const mapStateToProps = (state, ownerProps) => { // ownerProps 是 NewComponent 上傳入的屬性 // reducer上的state // 此處的state不是react的state // 這塊就是將redux的state對映到元件ComponentTest的props上的過程 return { value: state.value } }
-
mapDispatchToProps 這裡也需要返回一個物件
const mapDispatchToProps = (dispatch, ownerProps) => { // ComponentTest 上的事件event 派發某個action // 這塊是將redux的派發事件對映到元件ComponentTest 的props上,元件的事件激發了派發事件 return { event:() => dispatch({type:'action'}) } }
-
connect()(Component)
// 當connect中不傳任何引數的時候:// Component 這個元件上props傳入dispatch,也就是說class ComponentTest extends Component{ render(){ // 這個元件的props上會有有個dispatch的方法 const dispatch = this.props.dispatch } }
-
redux 中介軟體,我表示不懂,也不會用
applyMiddleware(...[中介軟體])
redux 的一個腦圖
redux.png
作者:Aaron_Alphabet
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2814422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺淺談ReduxRedux
- 粗淺聊聊Python裝飾器Python
- 淺談redux(一)Redux
- 深入淺出理解ReduxRedux
- 淺析Redux原始碼Redux原始碼
- Redux原始碼淺析Redux原始碼
- redux 原始碼淺析Redux原始碼
- 粗淺設計一個登入平臺
- 深入淺出redux學習Redux
- 深入淺出redux-middlewareRedux
- redux-saga 原理淺析Redux
- Redux原始碼全篇淺讀Redux原始碼
- redux中間鍵淺析Redux
- 深入淺出React和ReduxReactRedux
- 淺析webpack原始碼之Compilation.js粗解(九)Web原始碼JS
- Oceanbase 和 TiDB 粗淺對比之 - 執行計劃TiDB
- react-redux的淺比較ReactRedux
- redux connect的淺比較說明Redux
- 重學c#系列——對c#粗淺的認識(一)C#
- 使用Hook寫ReduxHookRedux
- 前端筆記之React(五)Redux深入淺出前端筆記ReactRedux
- Fish Redux 使用指南Redux
- 在 React 中使用 ReduxReactRedux
- React - React 中使用 ReduxReactRedux
- react之redux的使用ReactRedux
- react-redux 的使用ReactRedux
- Redux入門到使用Redux
- Redux中介軟體之redux-thunk使用詳解Redux
- React-Redux進階(像VUEX一樣使用Redux)ReactReduxVue
- 粗談繼承繼承
- Redux複雜應用(一):淺談狀態管理Redux
- 一個nuxt(vue)+mongoose全棧專案聊聊我粗淺的專案架構UXVueGo全棧架構
- Rims - 換個方式使用 ReduxRedux
- React中理解並使用ReduxReactRedux
- redux-observable 使用小記Redux
- React-Redux簡單使用ReactRedux
- redux和mobx入門使用Redux
- 淺談 React、Flux 與 Redux(各個的執行機制)ReactRedux