问题标签 [mobx]

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.

0 投票
2 回答
6401 浏览

reactjs - 检测 mobx observable 何时发生变化

是否可以检测到可观察对象何时以任何方式发生变化?

例如,假设你有这个:

稍后,随着一些用户输入,值会发生变化。我怎样才能轻松检测到这一点?

我想添加一个全局“保存”按钮,但只有在该可观察对象自初始加载后发生更改时才使其可点击。

我当前的解决方案是添加另一个myObjectChanged返回 true/false 的 observable,只要组件更改 myObject 中的数据,我还会添加一行将 myObjectChanged 更改为 true。如果单击保存按钮,它会保存并将 observable 更改回 false。

这导致大量额外的代码行遍布各处。有更好/更清洁的方法吗?

0 投票
1 回答
274 浏览

reactjs - 有没有办法在 MobX 中微调一个可观察的值?

所以,我有一个商店,其中包含 React 应用程序中的 Auth 信息。身份验证来自 JWT 令牌。存储有一个@observable名为的值loggedIn,用于检查身份验证存储是否有令牌以及该令牌是否尚未过期,类似于以下内容:

MobX 依赖于动作来知道何时在应用程序周围传播状态变化,但loggedIn()变化的结果不是因为用户交互,而只是时间的流逝。

所以,我想知道的是如何在没有任何用户交互的情况下让这个值传播,如何在给定的时间间隔内“轻推”它,以便应用程序可以正确响应过期的身份验证。

0 投票
1 回答
1823 浏览

javascript - Mobx 可观察深度对象

我正在寻找如何在深度 json 对象结构(例如树)数据树上实现 @observable 的最佳解决方案,这可能会非常深入。每个节点都有很多属性,但我只需要观察树节点中的一个属性。只要我这样做

它有效,但我认为那是腰部。我只需要观察“选定”属性。这是json结构。如果我错了,请纠正我这里是简化的问卷对象。

0 投票
1 回答
294 浏览

reactjs - 反应 + mobx + openlayers 3

我有一个使用反应的地图应用程序。

它有 3 个组件:

  1. 侧边栏 - 包含将执行地图功能(例如放大)的按钮。
  2. map-wrapper - 包含 openlayers 地图。
  3. 呈现它们的视图。

看法:

侧边栏:

地图就是这样: https ://github.com/pka/ol3-react-example

现在我想实现以下逻辑:按下缩放将放大地图。

如何使用 mobx 做到这一点?

店里会放什么?什么是观察者,什么是可观察者?

问候,伊多

0 投票
0 回答
53 浏览

breeze - 微风与 mob-x 的集成

有没有办法让这两者一起工作?我可以让轻风在它创建的实体上创建 @observable 属性吗?

0 投票
1 回答
6221 浏览

reactjs - 如何克隆 MobX 可观察对象?(编辑保存更改)

我有一个简单的反应表单,在我的 MobX 商店中有两个 observable:

当个人信息的形式被加载(在ctor中)时,我正在我的商店中调用一个方法:

它所做的只是重置“编辑中”对象,用原始数据中的数据填充它。如果用户按下“保存更改”,“编辑中”对象将被复制到原始对象。

用另一个 observable 调用 observable() 是否有效?这有什么副作用吗?(它似乎工作)

如果没有,是否有设计模式可以优雅地处理这种“正在编辑”对象的场景。

0 投票
1 回答
3577 浏览

reactjs - 如何使简单的 mobx 反应在子组件中工作

我错过了 mobx 可观察和反应中的一些东西。我准备了两个示例,其中一个有效,另一个无效,我不明白为什么。

示例 1(不起作用):

在示例 1 中,我们只是在 props 中发送 observable 变量并在 Alert1 组件中创建反应,但它不会触发。

示例 2(作品):

这与示例 1 几乎相同,但我们将 v1 observable 包装到另一个 observable 中。Alert2 反应有效。

同时,如果我们将反应从 Alert1 和 Alert2 组件移动到 Main 组件的构造函数,这两个反应都有效。

这是两个组件的 jsfiddle 示例,https: //jsfiddle.net/kasheftin/zex0qjvf/1/

0 投票
0 回答
546 浏览

reactjs - React 和 mobx - 事件?

我有一个带有 Mobx 的 React 应用程序。

这是我的问题:

我有一个单击按钮的侧边栏应该调用另一个组件(观察者)的方法。如果侧边栏更改了商店中的值 - 一切都很好。我已经定义了一个 mobx.reaction 我可以轻松调用该方法

但是如果我只想调用一个方法——比如reset或init,我该怎么办?不应在商店中更改任何值。

我怎样才能做到这一点?

问候,伊多

0 投票
4 回答
11968 浏览

reactjs - 如何在 sessionStorage 中保存 Mobx 状态

试图从本质上完成这个https://github.com/elgerlambert/redux-localstorage这是为 Redux 但为 Mobx 做的。而且最好是想用sessionStorage。有没有一种简单的方法可以用最少的样板来实现这一点?

0 投票
1 回答
823 浏览

arrays - MobX 将简单数组从可观察对象传递给观察者

我是 MobX 的新手,在这里被推荐。我有一个简单的数组,我试图将它传递给另一个文件。我已经尝试了很多东西,但我无法以 this.props.store 的形式接收数组如果您能对我对 mobX 的不当使用有所了解,将不胜感激。谢谢你。

然后第二个文件需要观察数组