gpt4 book ai didi

javascript - MobX - 将所有商店可观察对象重置回初始状态?

转载 作者:行者123 更新时间:2023-12-04 16:38:52 27 4
gpt4 key购买 nike

给定一个 MyQuestionStore店铺:

class MyQuestionStore {
@observable asked = 'today';
@observable answered = false;
@observable question = {
upvotes: 0,
body: null,
asker: null,
askerPoints: null,
askerBadges: null
}
// some more initial state observables...
// some actions below...
}

const myQuestionStore = new MyQuestionStore();
export default myQuestionStore;

将所有 store observables 重置为其初始状态数据('today'/false/0/null/etc..)的正确方法是什么?

注意:MyQuestionStore.reset()例如,我认为这是一种很好的 MobX 方式,但我认为它不存在。我将不得不编写一个名为 reset 的操作并手动将每个 observable 重置为其初始状态。我认为这不是正确的方法,因为如果我添加更多 observables ,我必须手动将它们添加到 reset每次行动。

最佳答案

编辑:这是一个旧答案,在较新版本的 mobx 中不起作用。

如果您使用 reset()初始化对象,可以避免重复代码。这就是我的意思:

import { extendObservable } from "mobx";

class MyQuestionStore {
constructor() {
this.reset();
}

@action reset() {
extendObservable(this, {
asked: 'today',
answered: false,
question: {
upvotes: 0,
body: null,
asker: null,
askerPoints: null,
askerBadges: null
}
});
}
}

关于javascript - MobX - 将所有商店可观察对象重置回初始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39313061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com