为什么要在 mobx 中使用动作装饰器

Why should I use the action decorator in mobx

即使在阅读了文档之后,我也在努力了解 mobx 中动作装饰器的用途,https://mobx.js.org/refguide/action.html

仍然想知道为什么我应该使用@action 或@action.bound,而不是强制执行组件不能直接更改可观察对象的模式。

以上文章提到提供"useful debugging information"。但是我在哪里可以找到这些信息? F12->Console 在调用@action 或@action.bound 方法时不显示任何内容。

或者我在下面的代码中做错了什么?

我应该安装一些 mobx 调试器吗?谢谢

class CommentStore {
    @observable commentData = [];

    @action.bound
    updateComment(id, name) {     
        this.commentData.map(p => p.id === id ? p.name = name : p.name = p.name);      
    }
      ...

如果您在未被@action 修饰的方法中改变多个可观察变量,您的推导 (auto运行) 将 运行 多次。当您使用 React 时,不会出现此问题。渲染函数只会 运行 一次。

@action 装饰器所做的其中一件事是防止多次调用您的派生。