前端技术的发展日新月异,vue,react,angular等的兴起,为我们带来了新的开发体验。但随着技术的革新,以及前端页面复杂度的提升,对应有localStorage,eventBus,vuex,redux,mobx,rxjs等数据存储和管理的方案,所以觉得研究状态管理还是很有必要的。
当然,使用Hooks自带的useContext + useReducer
也是可以的.只是:
1 | import React, { createContext } from "react"; |
创建reducer
1 | // color.js |
更新状态
为按钮添加点击事件,调用 dispatch 就可以更新颜色了。
1 | import React, { useContext } from "react"; |
useStore
1 | import React, { useEffect } from "react"; |
useStore源码 useStore
1 | // index.tsx |
1 | // usePromise.ts |