问题标签 [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.
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
网络包:
应用状态文件:
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
reactjs - React:不要在表格中渲染不可见的组件
我有一个 >30 行和 >50 列的表。每行和每个单元格都是一个特定的 React 组件,因为您可以操纵它们,它们会根据变化的数据改变行为和外观。
所以我的组件层次结构如下所示:
Grid -> Row -> Cell
我正在使用 MobX 来处理应用程序状态,当涉及到影响某些单元组件的状态更改时,它似乎变慢了一点。由于并非每个单元格和行对用户都是可见的(表格是可滚动的),我认为只让实际可见的 React 组件可能是一种性能改进。
我想知道是否可能存在现有组件,或者我将如何以高性能的方式创建这样的组件。
我还认识到,每次状态更改时,单元格和行都会重新呈现。也许这与每个单元格和行组件都注入 appStore 的事实有关。我如何告诉 MobX 它应该只重新渲染那些更改的组件?这甚至可能吗?
所以基本上我正在寻找任何一种方式。
react-router - MobX Invariant 失败:此时不允许更改状态等副作用
我是 JS/React/MobX/else 新手,试图做一些非常简单的事情但没有成功。
我想要的是 - 2个按钮,一旦单击,使用 react-bootstrap 和 mobx 在模式中显示相应的选项卡。
但我不断收到此错误:
[mobx] 遇到了由反应或观察者组件抛出的未捕获异常,在:'Reaction[AuthModal#0.render()] 错误:[mobx] 不变式失败:此时不允许更改状态等副作用。您是否尝试从例如 React 组件的渲染函数修改状态?尝试修改:AuthModalStore@3.tab
请帮忙。非常感激。
商店代码:
反应组件:
reactjs - 反应在组件中获取可观察值
在下面的组件中设置 obsrv 数组;
我检查了检索到的值没问题。我尝试在组件中设置它并在下面渲染它;
我希望在 html 中看到所有列表项,但没有(只有“listItems”字符串),控制台中没有错误。我该如何修复和调试它?使用“调试器”关键字没有显示任何可观察的内容。
reactjs - 可观察字段中的“对象可能未定义”
检索数据并设置 obseravble 数组,代码如下:
这是观察者类;
我也遇到上面的错误(“this.props.params”红色下划线): Object is possibly 'undefined'
无法弄清楚如何修复它..这是主要组件;
reactjs - 可观察数组更新未触发渲染方法
在 Repo 类中使用 fetch 方法加载数据很好,但我无法传递它的组件,实际上我希望它重新渲染观察者组件,但它没有发生。他们来了;
菜单组件.tsx:
MenuRepo.tsx:
应用程序.tsx;
我检查了执行顺序,在 fetch 中设置可观察字段(menuItems)后,jsx 渲染方法不会重新渲染。
reactjs - 将 mobx 可观察数据传递给 props
在 react-typescript 项目中使用 mobx。此类使用 fetch api 设置可观察数组:
我想在这个组件类中跟踪这个可观察的数据:
但 params 是“未定义的”。我看了一些关于 mobx&react 的教程,但无法解决。
这里是 App.tsx 文件:
javascript - ReactJS 组件丢失用户输入的输入值
我有一个这样的 ReactJS 组件:
该组件的工作方式:当tab1
被选中时,该组件返回一个文本框,用户可以在其中输入文本。如果tab2
选中,该组件将返回一个用户可以选中的复选框。
我的问题是,每当用户将选项卡从 tab1 切换到 tab2 时,反之亦然,用户输入的文本将丢失或复选框将丢失其复选标记。
我想知道当用户来回切换选项卡时,如何使文本框或复选框保留其用户输入的值。
javascript - 在 IE 11 上反应重新渲染
我们正在开发一个使用 React 和 Mobx 的接口。我们有一个组件来激活用户帐户,其中包含发送到用户电子邮件的链接和代码:
https://mysite/activate?Code=6bgoh9n0uk7a84lc3s9e2lso5j
在组件中我们调用后端来验证代码是否有效并激活用户。在有效的情况下,后端返回用户和他的令牌。此令牌存储在 localStorage 中,然后我们重定向到主仪表板:
在 Chrome 和 Mozilla Firefox 中,重定向是成功的,但在 IE 11 和 Edge 浏览器中,组件会再次呈现,这会导致代码被后端检查,我们在屏幕上指示代码不再有效。
我们做错了什么?