Mobx @inject @observer 命令

标签 mobx mobx-react

我在 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/

相关文章:

javascript - 如何在 react 中有条件地渲染元素

reactjs - 如何使用 mobx 可观察状态测试 React 组件

javascript - 使用哪种 MobX 模式来检测更改并更改其他可观察值?

javascript - 对 Mobx getDerivedStateFromProps 的误解

flowtype - 如何使用 Flow 类型检查器扩展数组?

reactjs - Mobx 控制台警告

javascript - 如何处理不一致的 mobx-state-tree 快照?

javascript - 仅在 react 组件渲染功能之外使用 mobx 存储

reactjs - 我可以将 NativeBase 与 Mobx 一起使用吗?

javascript - 如何从外部访问webpack包(js)中的mobx对象