[2
MOBX是用于JavaScript应用程序的流行状态管理库,尤其是在React中。与Redux依赖于集中式商店和明确的行动派遣不同,MOBX采取了一种更具反应性的方法来管理状态。它通过跟踪依赖项并在状态更改时仅重新渲染应用程序的必要部分来自动更新您的应用程序的状态和UI。
MOBX是一个状态管理库,该库利用
反应式编程
来管理应用程序的状态。它会自动跟踪和更新取决于状态的UI的各个部分,从而使其成为管理应用程序数据的非常高效,直观的方式。:mobx自动跟踪应用程序的哪些部分取决于哪个状态。
简单和直觉:使用MOBX,您无需手动派遣操作或更新状态。 MOBX对状态自动变化做出反应。
2。操作
在MOBX中的操作是修改状态的函数。按照惯例,应使用操作来更新可观察的状态,因为MOBX确保以受控且可预测的方式更新状态。import { observable } from 'mobx'; const counter = observable({ value: 0, increment() { this.value ; }, decrement() { this.value--; }, });从'mobx'导入{action}; const counter =可观察({{ 值:0, 增量:action(function(){函数{ 这个值; }), 减少:action(function(){ 这个值 - ; }), });
计算值来自可观察的状态。当可观察的状态变化时,计算值会自动重新计算,以确保应用程序的状态保持一致。
import { action } from 'mobx'; const counter = observable({ value: 0, increment: action(function () { this.value ; }), decrement: action(function () { this.value--; }), });
import { computed } from 'mobx'; const counter = observable({ value: 0, increment() { this.value ; }, decrement() { this.value--; }, get doubleValue() { return this.value * 2; }, });autorun函数是一种反应,每当反击更改时自动运行。它将更新的计数器值记录到控制台。
观察者
更高级组件来跟踪状态更改并在必要时自动更新UI。import { computed } from 'mobx'; const counter = observable({ value: 0, increment() { this.value ; }, decrement() { this.value--; }, get doubleValue() { return this.value * 2; }, });
例子:
从'mobx'导入{observable,action}; 班级柜台{ @observable值= 0; @Action递增(){ 这个值; } @Action dewment(){ 这个值 - ; } } 导出cont counterStore = new CounterStore();
npm install mobx mobx-react
计数:{counterstore.value}
import { computed } from 'mobx'; const counter = observable({ value: 0, increment() { this.value ; }, decrement() { this.value--; }, get doubleValue() { return this.value * 2; }, });
用于将存储注入应用程序。计数器组件现在可以直接访问柜台。
import React from 'react'; import { observer } from 'mobx-react'; import { counterStore } from './CounterStore'; const Counter = observer(() => { return (); }); export default Counter;Count: {counterStore.value}
import React from 'react'; import { render } from 'react-dom'; import { Provider } from 'mobx-react'; import Counter from './Counter'; import { counterStore } from './CounterStore'; const App = () => (3。细粒度可观察性); render( , document.getElementById('root'));
如果您正在构建复杂的React应用程序,并且想要易于理解的状态管理解决方案,则MOBX是一个绝佳的选择。它是直观的,强大的,并且与反应无缝地工作以提供优化的开发体验。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3