文章目录
一、mobx+hooks优缺点分析
优点:
- 学习成本少,基础知识非常简单,跟 Vue 一样的核心原理,响应式编程。
- 一个store即写state,也写action,这种方式便于理解
- 组件会自动订阅store中具体的某个属性,只要当属性变化时,组件才会rerender,渲染效率较高
- 不用对使用的store进行interface或type声明!
- 内置异步action操作方式
- 代码量真的很少,使用很简单有没有,强烈推荐!
缺点:
- 过于自由:Mobx提供的约定及模版代码很少,这导致开发代码编写很自由,如果不做一些约定,比较容易导致团队代码风格不统一,团队建议启用严格模式!
- 使用方式过于简单
如果想学习redux状态管理的,可查看文章:
Redux的使用 + 中间件处理异步action+ redux持久化
二、相关代码
1、安装
npm i mobx mobx-react mobx-persist-store -D
2、封装store
(1)新建文件【src/store/globalStore.ts】
(2)创建store并导出,新建文件【store/index.ts】
3、使用store
修改store的状态示例,例如,在登录页存储token和用户信息
获取store的状态示例,例如:在路由鉴权里,检查token
4、查看效果
由于store做了持久化,所以可通过浏览器的sessionStorage查看效果。