React 全局状态管理 mobx+hooks+持久化 的使用

本文分析了mobx+hooks的优点,如学习成本低、响应式和高效渲染,同时也指出其自由度高可能导致代码风格不统一的缺点。介绍了安装、store封装、使用示例以及持久化特性,最后展示了登录前后store状态的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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查看效果。

下图是登录前(即store的状态初始化结果)

在这里插入图片描述

下图是登录后,store的状态发生改变

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值