javascript - MobX 异步 react

标签 javascript asynchronous store mobx

您好,我在商店中使用 MobX,我需要在计算值发生变化时进行异步 react :

class Store {
    @observable user;
    @observable something;

    @computed get firstParam () {
         return this.user && this.user.params[0];
    }

    async loadSomething () {
        reaction(
                () => this.firstParam,
                async (param) => {
                    const { data: something } = await axios.get(`url/${param}`);

                    runInAction('update state after fetching something', () => {
                        this.something = something;
                    });
                }
            );
     }

}

我想知道除了运行条件之外,使用 when 而不是 reaction 会有什么区别?

when(
    () => !!this.firstParam,
    async () => {
         // fetch using this.firstParam
    }
)

最佳答案

请注意, 执行时,它只生效一次,然后停止。因此,在您的情况下,数据只会被获取一次。

关于javascript - MobX 异步 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036605/

相关文章:

reactjs - 如何在 react 之外访问 redux 中的当前存储状态?

javascript - 如何从嵌套对象中获取数据

javascript - 使用 jQuery Mobile 准备好文档后将选择更改为非 native 菜单

javascript - Mongodb 查找不返回数组

c# - 断开连接后再次开始使用 Socket 进行监听

mongodb - 使用 GridFS 在 MongoDB 中存储图像是否有效?

php - 点击 "Add"按钮后如何更改答案按钮?

javascript - 使用 javascript 或 jquery 解析 JSON

javascript - 在azure中强制执行异步node.js结果

Nuxt.js vuex 存储未持久化