问题标签 [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.

0 投票
1 回答
225 浏览

javascript - mobx @observable 在旧版 Android 4.4 平板电脑上抛出错误

我喜欢 mobx,并在一些平板电脑上实现了一个小应用程序,但在 Android WebView 上遇到了旧 javascript 的问题(由于平板电脑的年龄,我无法升级)。

Android 平板电脑:Nexus 4.4(棒棒糖)

错误如下,尽管 mobx.js 文件(下面的函数)中的 2740 左右看起来与旧 javascript 引擎的 @observables 存在问题。

我目前正在使用 webpack(见下文)来转换我的 js。对此的任何帮助将不胜感激,因为我真的很想继续使用 mobx。

真诚的,克里斯

mobx.js 中的第 2740 行

控制台错误:

[mobx] 捕获了由反应或观察者组件引发的未捕获异常,在:'Reaction[CustomerFeedback#0.render()] 类型错误消息:“在 instanceof 检查中期待一个函数,但得到了位置页面”堆栈:(. ..) get stack: function () { [native code] } set stack: function () { [native code] } proto: Error mobx.js:1284 Reaction.reportExceptionInDerivation

网络包:

应用状态文件:

0 投票
2 回答
188 浏览

javascript - How to bind the function by use @inject?

When I use the mobx-react ,I use inject decorator to transmit the store.But when I get the store such as

But when I want to call the function of store such as store.getUser() , I found that the context getUser function is not this , how can I bind this to the store ?

PS: the store is such as following :

I use the getUser like

0 投票
4 回答
12357 浏览

reactjs - React:不要在表格中渲染不可见的组件

我有一个 >30 行和 >50 列的表。每行和每个单元格都是一个特定的 React 组件,因为您可以操纵它们,它们会根据变化的数据改变行为和外观。

所以我的组件层次结构如下所示:

Grid -> Row -> Cell

我正在使用 MobX 来处理应用程序状态,当涉及到影响某些单元组件的状态更改时,它似乎变慢了一点。由于并非每个单元格和行对用户都是可见的(表格是可滚动的),我认为只让实际可见的 React 组件可能是一种性能改进。

我想知道是否可能存在现有组件,或者我将如何以高性能的方式创建这样的组件。

我还认识到,每次状态更改时,单元格和行都会重新呈现。也许这与每个单元格和行组件都注入 appStore 的事实有关。我如何告诉 MobX 它应该只重新渲染那些更改的组件?这甚至可能吗?

所以基本上我正在寻找任何一种方式。

0 投票
3 回答
4108 浏览

react-router - MobX Invariant 失败:此时不允许更改状态等副作用

我是 JS/React/MobX/else 新手,试图做一些非常简单的事情但没有成功。

我想要的是 - 2个按钮,一旦单击,使用 react-bootstrap 和 mobx 在模式中显示相应的选项卡。

但我不断收到此错误:

[mobx] 遇到了由反应或观察者组件抛出的未捕获异常,在:'Reaction[AuthModal#0.render()] 错误:[mobx] 不变式失败:此时不允许更改状态等副作用。您是否尝试从例如 React 组件的渲染函数修改状态?尝试修改:AuthModalStore@3.tab

请帮忙。非常感激。

商店代码:

反应组件:

0 投票
1 回答
1905 浏览

reactjs - 反应在组件中获取可观察值

在下面的组件中设置 obsrv 数组;

我检查了检索到的值没问题。我尝试在组件中设置它并在下面渲染它;

我希望在 html 中看到所有列表项,但没有(只有“listItems”字符串),控制台中没有错误。我该如何修复和调试它?使用“调试器”关键字没有显示任何可观察的内容。

0 投票
1 回答
8634 浏览

reactjs - 可观察字段中的“对象可能未定义”

检索数据并设置 obseravble 数组,代码如下:

这是观察者类;

我也遇到上面的错误(“this.props.params”红色下划线): Object is possibly 'undefined'

无法弄清楚如何修复它..这是主要组件;

0 投票
1 回答
345 浏览

reactjs - 可观察数组更新未触发渲染方法

在 Repo 类中使用 fetch 方法加载数据很好,但我无法传递它的组件,实际上我希望它重新渲染观察者组件,但它没有发生。他们来了;

菜单组件.tsx:

MenuRepo.tsx:

应用程序.tsx;

我检查了执行顺序,在 fetch 中设置可观察字段(menuItems)后,jsx 渲染方法不会重新渲染。

0 投票
1 回答
1887 浏览

reactjs - 将 mobx 可观察数据传递给 props

在 react-typescript 项目中使用 mobx。此类使用 fetch api 设置可观察数组:

我想在这个组件类中跟踪这个可观察的数据:

但 params 是“未定义的”。我看了一些关于 mobx&react 的教程,但无法解决。

这里是 App.tsx 文件:

0 投票
1 回答
1568 浏览

javascript - ReactJS 组件丢失用户输入的输入值

我有一个这样的 ReactJS 组件:

该组件的工作方式:当tab1被选中时,该组件返回一个文本框,用户可以在其中输入文本。如果tab2选中,该组件将返回一个用户可以选中的复选框。

我的问题是,每当用户将选项卡从 tab1 切换到 tab2 时,反之亦然,用户输入的文本将丢失或复选框将丢失其复选标记。

我想知道当用户来回切换选项卡时,如何使文本框或复选框保留其用户输入的值。

0 投票
1 回答
1494 浏览

javascript - 在 IE 11 上反应重新渲染

我们正在开发一个使用 React 和 Mobx 的接口。我们有一个组件来激活用户帐户,其中包含发送到用户电子邮件的链接和代码:

https://mysite/activate?Code=6bgoh9n0uk7a84lc3s9e2lso5j

在组件中我们调用后端来验证代码是否有效并激活用户。在有效的情况下,后端返回用户和他的令牌。此令牌存储在 localStorage 中,然后我们重定向到主仪表板:

在 Chrome 和 Mozilla Firefox 中,重定向是成功的,但在 IE 11 和 Edge 浏览器中,组件会再次呈现,这会导致代码被后端检查,我们在屏幕上指示代码不再有效。

我们做错了什么?