React 状态管理 - Mobx 入门(上)

Mobx是另一款优秀的状态管理方案

【让我们未来多一种状态管理选型】

响应式状态管理工具

扩展学习资料

|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|
| 名称 | 链接 | 备注 |
| mobx 文档 | 1. MobX 介绍 · MobX 中文文档 | |
| mobx | https://medium.com/@Zwenza/how-to-persist-your-mobx-state-4b48b3834a41 | 英文 |

Mobx核心概念

  • Mobx提供了一种状态(State)可供观察的解决方案。【在Mobx内部队state进行主动监听】
  • 可观察的状态(Observable state)意味着在Mobx构建的应用中,更细粒度更高效的状态管理。
  • 与Redux中状态变化取决于对比前后差异,Mobx中申明了观察对象便会依据框架本身的能力进行管理

Redux应用流转图

reducer不能直接修改store

Reducer中不能修改Store,不能发生数据突变,这里是执行纯函数的【这样写会留下隐患】

Mobx应用流转图

actions直接修改State

Mobx接入实战

  • Observable State【可观察的状态】
    • Mobx为常用的数据结构(如:对象,数组和类实例)添加了可观察的功能。
    • 使用**@observable**装饰器更便捷完成添加Observable State功能。
  • Derivations(衍生)
    • 源自任何状态,并且不会再有任何相互作用的东西【包括具体UI和一些计算值】
    • Computed values(计算值):使用纯函数(pure function)从当前可观察状态中衍生出的值。【state变就跟着变】
    • Reactions(反应):当状态改时需要自动发生的副作用。【依赖了state的UI】
相关推荐
来自星星的坤28 分钟前
【Vue 3 + Vue Router 4】如何正确重置路由实例(resetRouter)——避免“VueRouter is not defined”错误
前端·javascript·vue.js
寧笙(Lycode)1 小时前
React系列——nvm、node、npm、yarn(MAC)
react.js·macos·npm
香蕉可乐荷包蛋5 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务5 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
liuyang___6 小时前
第一次经历项目上线
前端·typescript
西哥写代码6 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木7 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
FungLeo7 小时前
node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
前端·非对称加密·rsa 加密·node 后端
不灭锦鲤7 小时前
xss-labs靶场第11-14关基础详解
前端·xss
不是吧这都有重名7 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端