为什么要在 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 装饰器所做的其中一件事是防止多次调用您的派生。
即使在阅读了文档之后,我也在努力了解 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 装饰器所做的其中一件事是防止多次调用您的派生。