mobx多个store问题

发布于 2022-09-06 08:25:23 字数 886 浏览 28 评论 0

我在react中使用mobx做状态管理实现了简单计数器demo,如果该页面今后需要添加新的功能,我希望不同功能存放在不同的store,请问这要如何实现

countStore.js

import { observable,action, computed } from 'mobx';
class CountStore{
    @observable num = 0;
    @computed get displayResult(){
        return this.num;
    }
}

export default CountStore;

app.js

import React, { Component } from 'react';
import { render } from 'react-dom';
import Count from './count';
import Display from './display';
import CountStore from "../store/countStore";
const CountStores = new CountStore();
class Countapp extends Component{
    constructor(props){
        super(props)
    }

    render(){
        return <div>
            
            <Count store={CountStores}/>
            <Display store={CountStores}/>
            
        </div>
    }
}

export default Countapp;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

兮颜 2022-09-13 08:25:23

再写一个store.js文件就可以了

够钟 2022-09-13 08:25:23

Mobx类似于Redux,也是有Provider方法,可以把Store挂载到整个应用上,至于多个Store实现起来也是简单的,给个例子:

storeA.js

import {observable, action} from 'mobx';

class AStore {
  //……
}

const aStore = new AStore()

export {aStore}

storeB.js

import {observable, action} from 'mobx';

class BStore {
  //……
}

const bStore = new BStore()

export {bStore}

index.js

import {bStore} from './storeA'
import {bStore} from './storeB'

export {bStore, bStore}

具体可以看看我的项目>>react-mobx-demo

顺便再给个Redux的项目>>react-redux-demo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文