请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

提问者 lpx2600 2020-03-01 22:28:26

结合老师开始讲的几个Hook特性,我觉得可以这样构建Redux

1. 创建一个Store:Store = createContext()

2. 编写 reduer: reducer() { switch(type) { add ..  remove... } }

3. 使用useReducer存储state和dispatch: [state, dispathc] = useReducer(reducer, initialState)

4. 将[state, dispathc] 赋值给Provider的vaule export出去: export: 

const value = {state, dispatch}  return  <Store.Provider value={value} />

5. export的Provider组件挂载到root <app>

6. 在页面中import Store, 通过 useContext(Store) 获取到{ state, dispatch}

const { state, dispatch} = useContext(Store)  

action调用:dispatch({ type: 'add', padload:{ } })

state获取: state.todos

1 回复 有任何疑惑可以回复我~
  • 同学你好,其实useReducer并非一定要使用。比如在某个组件模块中,操作特别复杂,就可以使用了,相当于一个局部的redux。
    
    在后面的实战课程中,是有使用到的。
    祝您学习愉快!
    回复 有任何疑惑可以回复我~ 2020-03-14 14:38:37
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号