给定一个 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;
将所有存储可观察值重置回其初始状态数据(’today’/false/0/null/etc..)的正确方法是什么?
注意: 例如 MyQuestionStore.reset()
类的东西,我认为这是一种很好的 MobX 方式,但我认为它不存在。我将不得不编写一个名为 reset
的动作,并手动将每个可观察对象重置回其初始状态。我认为这不是正确的方法,因为如果我添加更多 observables
,我每次都必须手动将它们添加到 reset
操作中。
原文由 Wonka 发布,翻译遵循 CC BY-SA 4.0 许可协议
_编辑_:这是一个旧答案,在较新版本的 mobx 中不起作用。
如果您使用
reset()
来初始化对象,您可以避免代码重复。这就是我的意思: