Mobx 十分钟快速入门

作者: Apolo_Du | 来源:发表于2018-08-24 19:02 被阅读0次

Store, Redux 和 Mobx

  • 前端数据流方案包括了 flux, redux 和 mobx. 在其中数据存储的地方, 就叫做 store.

  • Redux:

  • Mobx

    • Mobx 是 flux 实现的后起之秀. 以更简单的时候和更少的概念, 让 flux 使用起来变得更简单.
    • 相比 Redux 有mutation, action, dispatch 等概念. mobx则更加简洁, 更符合对store 增删改查的操作概念.

Mobx 快速入门

通过下述的代码, 我们可以完成一个 react-mobx 实现的计数器. 点击这里查看实际效果.

安装依赖项: mobx, mobx-react

npm i mobx mobx-react

定义observable, observer 和 action

  • 定义一个状态对象, 它具有可观察的属性, 我们将它称为 observable
    • 首先我们需要定义一个状态对象
    • 将其转化为可观察状态
      • 将状态对象传递给 mobx observable()
import {observable} from 'mobx';

let appState = observable({
    timer: 0
});
  • 创建一个react组件, 它能够响应 observable 的变化, 我们将它称为 observer
    • 创建一个 React 组件.
    • 将其转化为 响应 observable 的组件
      • 使用 mobx-react observer() 来包裹它.
let App = observer(({ appState }) => {
    return (
        <div className="App">
            <h1>Time passed: {appState.timer}</h1>
        </div>
    );
});
  • 定义更改状态的函数, 我们将它称为 action
    • 创建一个函数来更改 observable.
    • 使用 mobx action来包裹它.
setInterval(action(()=>{
  appState.timer +=1  
}), 1000) 

完整代码

import React from "react";
import ReactDOM from "react-dom";
import { observable, action } from "mobx";
import { observer } from "mobx-react";

// create State object
let appState = observable({ timer: 0 });

// define action
setInterval(
    action(() => {
        appState.timer += 1;
    }),
    1000
);

appState.resetTimer = action(() => {
    appState.timer = 0;
});

// create observer
let App = observer(({ appState }) => {
    return (
        <div className="App">
            <h1>Time passed
: {appState.timer}</h1>
            <button onClick={appState.resetTimer}>reset timer</button>
        </div>
    );
});

const root = document.getElementById("root");
ReactDOM.render(<App appState={appState} />, root);

参考

https://mobx.js.org/intro/overview.html

相关文章

  • 前端框架

    MobX:MobX 和 React 十分钟快速入门 MobX 是一种简单的、可扩展的、久经考验的状态管理解决方案。...

  • Mobx 十分钟快速入门

    Store, Redux 和 Mobx 前端数据流方案包括了 flux, redux 和 mobx. 在其中数据存...

  • react-native + mobx 入门到放弃

    react-native + mobx 入门到放弃 标签(空格分隔): react mobx Android 作为...

  • React & MobX 入门与实战视频教程课程忆完结,这是目录

    React & MobX 入门与实战视频教程(27 个视频) React & MobX 实战视频教程 #1 介绍「...

  • React & MobX 入门与实战视频教程(27 个视频)

    React & MobX 入门与实战视频教程(27 个视频) React & MobX 实战视频教程 #1 介绍[...

  • mobx入门

    是类似于vuex,redux,flux的状态管理工具 使用方式 需要下载npm install mobx和mob...

  • mobx 入门

    mobx 响应式状态管理库 安装 基础概念 所谓的响应式,既是将原有数据结构,例如 数组,对象等转变为可观察对象,...

  • pandas小案例

    markdown太坑!!本文参见:十分钟快速入门Pandas入门可参照:官方文档入门基础知识可参照:官方文档基础知...

  • 十分钟快速上手react之mobx、mobx-react

    前言 目前React框架越来越火,使用 react 公司越来越多!随着页面逻辑的复杂度提升,各种状态库也层次不穷,...

  • Mobx 基本入门

    Mobx, 一个简单、可扩展的状态管理插件, 可结合React, 小程序使用。 这篇文章主要讲一下mobx的基本使...

网友评论

    本文标题:Mobx 十分钟快速入门

    本文链接:https://www.haomeiwen.com/subject/ljuiiftx.html