Mobx @inject @observer命令

时间:2017-07-06 13:30:05

标签: mobx mobx-react

我的componentDidMount中有一个提取,当我执行appState时不会刷新@observer @inject('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'

哪个订单正确?为什么?

1 个答案:

答案 0 :(得分:6)

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