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
我的 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