其他分享
首页 > 其他分享> > react: Mobx

react: Mobx

作者:互联网

react + Mobx5 & Mobx6 使用教程

MobX是react的状态管理库之一。
无主见,可扩展的状态管理。支持单向数据流,
动作改变状态,状态改变会更新所有受影响的视图;

安装

npm install mobx mobx-react

浏览器支持

Mobx5 : 需要搭配 react16.x 使用,如果搭配 react17 会报错
Mobx6 : 搭配 react17 使用

核心概念

Class 组件

Mobx5

通常采用装饰器的写法,包括@observable, @computed, @action

// store.js

// UI.js

Mobx6

Mobx6 在store.js中不需要再写这些装饰器了,直接使用makeObservable或者makeAutoObservable。通常用在类的构造函数中。
用法一: 其他与 Mobx5 一样的写法,在store文件加上

用法二:store文件中的装饰器都不用写,直接使用 makeObservable 或 makeAutoObservable

makeObservable(target, annotations?, options?) 捕获target对象的属性,并使它们可观察。在class构造函数中,第一个参数为this。

makeAutoObservable(target, overrides?, options?) makeAutoObservable与makeObservable类似,不同点是它会默认推断所有属性,比makeObservable更容易维护。注意:makeAutoObservable不能用于super或subclassed的类。

无状态组件

Mobx5

遵循普通写法

Mobx6

用法一:Mobx6提供了useLocalObservable, useObserverHOC用法。

用法二:除了使用useObserver钩子函数,还可以使用Observer

基础写法

适用Mobx5 和 Mobx6

Class组件

无状态组件

标签:makeAutoObservable,Mobx5,makeObservable,react,Mobx6,Mobx,store,属性
来源: https://www.cnblogs.com/flyingdefish/p/14972341.html