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

一、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的状态发生改变

在这里插入图片描述

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 18全家桶是React.js的最新版本,它引入了很多新特性和改进,使得开发更加方便和高效。其中,Hooks是React 16.8版本引入的一项重要特性,它允许我们在无需编写类组件的情况下,在函数式组件中使用状态和其他React功能。 React 18全家桶Hooks项目实战网盘是一个基于React 18全家桶的实际开发项目,旨在通过实际开发来学习和掌握React 18全家桶及Hooks的使用。 在这个项目中,我们可以通过网盘将文件上传、下载和分享给其他用户。首先,我们可以使用React 18全家桶的新特性来创建一个界面,例如使用React函数组件和Hooks来管理界面的状态、处理用户输入以及渲染文件列表等。我们可以使用React Router来管理不同页面之间的导航,并使用React Context来共享全局状态和数据。 对于文件的上传和下载功能,我们可以利用React 18全家桶提供的新API,例如使用React Concurrent Mode来提高文件上传和下载的性能。同时,我们可以使用React Query来管理文件的后台数据请求和状态更新,以及使用React Hook Form来处理表单的数据验证和提交。 在项目中,我们可以使用React 18全家桶的新特性来实现一些高级的功能,例如使用React Server Components来实现服务器端渲染和实时数据更新,或使用React Fast Refresh来提高开发和调试的效率。 通过参与React 18全家桶Hooks项目实战网盘,我们可以深入了解并熟练掌握React 18全家桶及Hooks的使用。这将有助于我们在实际的React项目开发中提高开发效率和代码质量。同时,我们也可以通过参与项目来拓展我们的React技术栈,并与其他开发者共同学习和交流。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值