比Redux更容易上手的状态管理库

简介: 前言当项目越发复杂时,我们发现仅仅是提升状态已经无法适应如此复杂的状态管理了,程序状态变得比较难同步,操作,到处是回调,发布,订阅,这意味着我们需要更好的状态管理方式,于是就引入了状态管理库,如Redux,Mobx,Jumpsuit,Alt.js等。

前言


当项目越发复杂时,我们发现仅仅是提升状态已经无法适应如此复杂的状态管理了,程序状态变得比较难同步,操作,到处是回调,发布,订阅,这意味着我们需要更好的状态管理方式,于是就引入了状态管理库,如Redux,Mobx,Jumpsuit,Alt.js等。

Mobx是什么


对于我来说Mobx几乎和Vue一样,通过监听数据的属性变化,可以通过直接在数据上更改就能触发UI的渲染,从而做到MVVM、响应式、上手快,Api简单等等。
  • 安装 npm install mobx --save
  • 原则

在这里插入图片描述


mobx支持单向数据流也就是动作改变状态,而状态的改变会更新所有受影响的视图。如下图

在这里插入图片描述

一个简单的react+mobx的计算实例


npm install mobx-react --save // 下载mobx
import { observable, action } c // 应用mobx
const counter = {
    state: observable({
        count: 0
    }),
        
    add: action(function() {
        this.state.count ++ 
    })
}
export default counter

// 这时候 counter的结构是这样的
{
    state: { count: 0 }
    add: function
}

// 现在我们将mobx和react联系起来;
import { observer } from 'mobx-react'
import counter from './counter'
const CouterView = () => {
return (
    <div>
      <span>{ counter.state.count }</span> //这里的count时计数器里的数据
          <button onClick={() => counter.add()} > + </button> // 点击按钮会把数字加1
        </div>
    )
}

export default observer(CouterView);
// 这样就实现了一个简单的mobx的数据管理库

小结


在mobx中没有reducer这一层,所以不需要为了action和reducer之间的通信而使代码高度抽象。
mobx里state的更新是很直观的,通过赋值行为即可,而不需要dispatch或者setState这样的方法。


写的不详细,如有需要者,请前往官方文档

来源:https://segmentfault.com/a/1190000017026373

相关文章
|
4月前
|
存储 前端开发 JavaScript
【第39期】一文认识React的状态管理库
【第39期】一文认识React的状态管理库
65 0
|
JavaScript API
浅尝Vue最新状态管理工具Pinia(实战使用Pinia管理登录状态)
pinia是vue新的状态管理工具,也称作vuex5,本文讲解Pinia的使用方法
776 0
浅尝Vue最新状态管理工具Pinia(实战使用Pinia管理登录状态)
|
18天前
|
JavaScript 前端开发
【干货分享】轻松入门 Redux:解密状态管理的神奇世界
【干货分享】轻松入门 Redux:解密状态管理的神奇世界
|
7月前
|
前端开发 JavaScript 中间件
React状态管理库—— zustand 为啥这么简单易用🚀
React状态管理库—— zustand 为啥这么简单易用🚀
|
2月前
|
资源调度 JavaScript
如何使用 Vuex 管理应用的状态?
如何使用 Vuex 管理应用的状态?
16 3
|
4月前
|
存储 JavaScript 开发者
Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
29 0
|
4月前
|
前端开发 JavaScript API
React 生态系统:路由、状态管理、调试、测试、组件库、文档……
React 生态系统:路由、状态管理、调试、测试、组件库、文档……
41 0
|
9月前
|
资源调度 JavaScript 前端开发
Vue 3 状态管理进阶:使用 Pinia 构建可扩展的应用程序
Vue 3 状态管理进阶:使用 Pinia 构建可扩展的应用程序
149 0
|
10月前
|
存储 JavaScript 前端开发
Redux 状态管理库的原理及使用方式
Redux 是一种流行的状态管理库,用于在 JavaScript 应用程序中管理应用的状态。它遵循单一状态树的原则,将整个应用的状态保存在一个状态树中,并通过纯函数来修改状态。Redux 的原理和使用方式如下:
|
10月前
|
存储 缓存 前端开发
Zustand:更强大的 React 状态管理库
Zustand:更强大的 React 状态管理库
302 0