我在 componentDidMount
中获取数据,当我执行 @observer @inject('appState')
时,它不会刷新 appState
数据但是当我有 @inject('appState') @observer
时它会一直工作。
与此同时,我在控制台中收到一条警告,提示我的订单有误。
Mobx 观察者:您正在尝试在已经具有“注入(inject)”的组件上使用“观察者”。请在应用“注入(inject)”之前应用“观察者”
哪个是正确的顺序,为什么?
最佳答案
装饰器是函数调用的糖,所以@a @b class C
类似于a(b(class C))
,换句话说,内部大多数(或最右边)是第一个应用的装饰器。所以在应用 inject
之前应用 observer
意味着:inject("stores")(observer(Component))
,换句话说,工作的顺序为您准备的顺序是:@inject('appState') @oberver Component
关于Mobx @inject @observer 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950394/