Mobx @inject @observer 命令

Mobx @inject @observer order

我的 componentDidMount 中有一个提取,当我 @observer @inject('appState') 时它不会刷新 appState 数据,但当我有 @inject('appState') @observer 时它会一直工作。

同时,我在控制台收到一条警告,提示我的订单有误。

Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'

哪个是正确的顺序,为什么?

装饰器是函数调用的糖,so @a @b class C类似于a(b(class C)),换句话说,最里面(或最右边)是第一个应用的装饰器。因此,在应用 inject 之前应用 observer 意味着:inject("stores")(observer(Component)),换句话说,适合您的顺序就是预期的顺序:@inject('appState') @oberver Component