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

时间:2018-11-16 17:01:54

标签: mobx

即使在阅读了文档https://mobx.js.org/refguide/action.html

之后,我仍在努力使自己了解mobx中动作装饰器的作用。

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

以上文章提到提供“有用的调试信息”。但是我在哪里可以找到此信息?调用@action或@ action.bound方法时,F12->控制台不显示任何内容。

还是我在以下代码中做错了什么?

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

class SearchOptions : PageBase
{
    public SearchOptions()
    {
        id = string.Empty;
        className = string.Empty;
        text = string.Empty;
        partialText = string.Empty;
        XPath = string.Empty;
        cssModifier = string.Empty;
    }

    string void justAFunction()
    {
        Console.WriteLine(id);
        Console.WriteLine(className);
        return "ImportantReturn";
    }
}

1 个答案:

答案 0 :(得分:2)

如果在未使用@action装饰的方法中对多个变量进行了观察,则派生(自动运行)将运行多次。使用React时不存在此问题。渲染功能将只运行一次。

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