问题标签 [mobx-react]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - MobX Store:Axios 调用成功,但获取:获取数据信息时出错:TypeError:无法读取 null 的属性“数据”
我正在使用 MobX 和 React 进行状态管理。我实际上得到了它的工作 - 数据从父级传播到这个父级的子级@observer
,并在父级上使用,并从商店传递道具。那太棒了!
除了..数据在那里 - 我可以console.log
在每个孩子身上,但axios.get
里面的调用stores.js
失败(即使它确实传递了数据?)
我的stores.js
:
没错,它设法将数据传递给<Parent />
组件。
但是,它从不渲染<Parent />
组件,因为它说loadParent()
函数实际上捕获了错误。
错误是:Error getting parent info:TypeError: Cannot read property 'data' of null
这对我来说没有多大意义:我可以console.log
输出包含其他对象的整个对象,并在/api/parentdata/snapshot
界面处收集。意味着调用是成功的,而不是失败的。
为什么它会失败并阻止整个应用程序?数据被传播到我的 React 类。我觉得很奇怪。
javascript - 无法从 mobx 提供商处接收存储
我正在使用 react-router 3,这是我的路线的代码:
这是我的主要内容Index.js
,其中包括Provider
from mobx-react
:
store.js
看起来像这样:
我已经为我的 react 应用设置了 mobx,autorun
可以登录我的商店。然后我Provider
在我的路由器周围添加并尝试在我的中记录道具App.js
,我根本没有收到我的商店。
我添加@observer
了我的App
组件并尝试记录我的道具以检查我的商店是否正在传递,但我没有得到它。
有谁知道为什么?提前致谢。
javascript - 如何减少react-native中的重复object.chain?
我有如下 mobx 的 react-native 代码,正如你们所看到的,我需要参考this.props.store.user.avatar
才能从道具中获取深层对象值,我不想重复使用长语法,我知道我可以让它成为构造函数中的实例变量例如2,但我发现这是posts的反模式,它实际上发生了一些副作用,因为我的实验导致构造函数在组件初始化时只执行一次,所以我使用第三种方式作为example3,如你所愿,我创建组件中的函数并通过长语法返回值,这就是我能做的最好的事情,但我不喜欢这种方式,它看起来不优雅,所以有人有更好的建议或解决方案/方式吗?
示例 1:我的问题
示例 2:反模式
示例 3:反模式
示例 4:它有效,但存在更好的方式?
示例 5:这是一个好方法,但它不适用于回调
reactjs - 如何从其他商店功能更新商店
我有 2 个商店,即 AttachmentStore 和 CommentStore。
我知道我可以将附件声明为 CommentStore observables 的一部分,但是有什么方法可以更新从 CommentStore 观察到的附件?
javascript - 如何在 Mobx + reactjs 中使用 @Action?
我对如何在我的代码中使用 @action 感到困惑。
reactjs - 如何在不使用 mobx 渲染的情况下对道具更改做出反应
我正在构建一个 React + Mobx 应用程序,我有一个组件不渲染任何内容,因为它全部基于 3rd 方地图 API,但我需要对一些商店属性更改做出反应:
有没有一种优雅的方式来实现这一点?
reactjs - 将数组的 MobX @observable 传递给 PropTypes.array 的 React 组件道具
所以我在我的应用程序中使用了一个普通的 React UI 组件库和 MobX 作为状态管理。当我有一个可观察的数组作为数据并且我想将它从我的组件(它是 a mobx-react
observer
)传递到 UI 库的组件(它的 prop 是 的类型PropTypes.array
)时,组件拒绝它说我的可观察数组是一个对象,而不是数组。
我在这个类似的问题中读过关于使用toJS
from mobx 的内容,但是还有其他方法可以解决这个问题吗?由于我不是 UI 库的所有者,因此我无法添加该问题中提到的包中的 PropTypes 验证作为答案。UI 库会对其 prop 的输入做出反应吗?mobx-react
toJS
firebase - 无法重写 mobx 商店中的可观察变量
这是我的 Mobx 商店:
尝试使用观察者的配置文件可观察属性。但由于某种原因,我无法从中获得更新的状态。
如果我在“fb.profiles.child”之前更新配置文件而不是从回调中更新,那么它将起作用。
任何人都知道为什么会这样?我想可能是因为它已经安装到观察者或类似的东西......
reactjs - 在 ReactJS 和 ReactNative 混合应用程序中使用 MobX
我和我的团队正在构建一个 ReactJS 和 ReactNative 混合应用程序。这个想法是尽可能地共享代码。MobX 是一个很好的状态管理解决方案,但我们偶然发现了一个问题。ReactJS 应用程序和 React Native 应用程序必须使用我们的共享状态存储。这同样适用于我们共享的高阶组件,它们应该观察状态存储的状态变化。
因此,为了将类注册为 MobX 观察者,在 RN 中我们需要
对于 ReactJS,我们需要
React Native 抱怨 ReactJS 的导入,反之亦然。
有人可以帮我找出解决方案并使状态存储可用于两个平台吗?
提前致谢!
mobx-react - 带有 mobx-react 观察者的 Electron Forge 模板
我最近开始使用Electron Forge,我认为它是一个很棒的工具。我也一直在使用mobx-react包做一些工作,并且一直在使用观察者功能。
基于 react 模板创建一个 electron-forge 项目,我修改 app.jsx 文件看起来像
当我运行应用程序时,它会出错
第 4 行在哪里
从我过去玩过的东西来看,我使用 webpack 之类的东西来编译所有东西,以便它正常运行。根据项目的描述,我不需要担心 webpack。
如何将 Electron Forge 与 react、mobx 和观察者功能一起使用?