问题标签 [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.
reactjs - 类似 React 复选框的组件应该作为 API 公开什么?
我正在构建一个组件,基本上就像一个复选框,但是是定制的设计。
我的组件就像
处理状态的正确方法是什么,以便我可以使用 Mobx 或 Redux 状态管理?换句话说:我怎样才能使这个组件对状态管理不可知,并允许从组件外部更改状态?
reactjs - 没有观察者无法使用注入
我目前正在使用类型化的 React (TSX) 和 mobx 进行状态管理。
我能够构建一个同时使用观察者和注入装饰器的组件。但是我无法构建一个在没有观察者的情况下使用注入的组件。
这通过了打字稿编译器
然而这失败了
带有以下错误消息
请协助我制作此错误消息的正面和反面。我敢打赌,打字已经过时了。否则在没有观察者的情况下使用注入实际上是无效的组合。
javascript - Listening for array changes using MobX
I just started learning MobX today and I want to listen for all array changes (insertion, deletion, etc) using MobX. An example would illustrate this better:
If I add or remove an item from todos
, the list isn't updated. In order to make it update, I need to wrap observer
around TodoList
. The @observer
on TodoListContainer
doesn't do anything because I'm not accessing any observed properties. However, just for learning purposes, I want to use observer
only on containers. I want to make the container rerender every time todos
changes.
One way to do this is to do anything in TodoListContainer
that iterates through all of todos
. For example, in TodoListContainer.render
, I can add for (let todo of todos) {}
or todos.forEach(_ => _)
. Is there a better way to do it? For example, in Ember Data, you can do todos.[]
to represent listening to all changes in todos
.
arrays - Export and import observable MobX React Native
I am new to React Native and very new to MobX, only realising i needed it when my first project demanded dynamically updating and changing props/store between files.
Here is the github of the project: https://github.com/Kovah101/GenreGeneratorv1
I am trying to build an app that generates the name of random genre of music. My main file renders all the components and has a small console.log to check that random numbers are being generated. I don't get any errors here
Next, GenerateButton renders a button with an onClick
event that generates an array of random numbers, these get checked by mainOriginal
and work correctly. I also use MobX to make randomNumbers
observable as it is constantly updated and will be passed to the final file genreSelector
.
genreSelector should use the array of random numbers map them to the size of the 3 different genre arrays, then render 3 boxes, each with one of the random genres from each array. However I get unexpected tokens at 'chosenRandoms' if i set it to be a 'var' and the same again at 'get randomGenres`, my understanding is they need to be something.
Does anybody have any ideas on what i'm doing wrong? If i take the var
and get
out then i get an error at the end of the math manipulation line. I must be misusing something. Thanks for any help, I can provide more of my code but i dont think the problem is in the stylesheet or index.
javascript - MobX @observable 装饰器从商店中删除一个字段
我正在尝试了解 MobX 并创建一个简单的商店:
但window.store
不包含字段someField
。没有这个装饰器字段存在于对象中。webpack.config 中的加载器:
reactjs - 没有装饰器的reactjs mobx不起作用
我正在尝试mobx
与react
. 由于我使用 生成了我的应用程序create-react-app
,因此我不能使用 mobx 提供的装饰器。
鉴于我们可以按照本文档使用不带装饰器的 mobx:https ://mobxjs.github.io/mobx/best/decorators.html
这是我创建的一个组件:
这是对上述组件的简单调用:
现在,当我运行上述组件时,出现错误:Uncaught TypeError: (0 , _mobxReact2.default) is not a function(…)
控制台中没有显示任何内容。
我在这里做错了什么?
javascript - 对数组中所有对象的可观察属性进行单个 MobX 自动运行或反应
我有课@observable
(所有例子都是打字稿/伪代码)
还有一些功能,例如:
我想isVisible
对任何对象的变化做出反应。
我可以枚举数组并制作如下内容:
但是我可以用一个功能做到这一点吗?
一种“对元素的属性变化做出反应的数组观察者”。
像这样的东西:
reactjs - React + Mobx:尝试更新商店时“this”为空
刚开始使用 Mobx 和 React 并且无法更新商店。单击按钮时出现错误,该按钮应更新“me”属性:
我的店铺:
组件:
我可能错过了它如何工作的一些基本部分,但无法弄清楚。
reactjs - React Mobx - 商店更改后组件不更新
使用 Mobx,在更新商店(即单击按钮)后,组件不会重新渲染。我已经安装了 mobx devtools,它在初始加载后什么都没有显示,并且控制台中没有错误。任何想法我做错了什么?
商店.js:
布局.js:
index.js:
reactjs - mobx - 主要装饰器必须附加到类声明
我想使用 MobX 装饰器,但是当我尝试运行我的代码时,我收到以下错误消息:
我的应用程序将数据存储在 nedb 的数据存储中,我想用 mobx 观察它们。
例如,如果我有以下代码:
当我启动我的电子应用程序时,我使用以下命令:
此外,所有 devDependencies 和 Dependencies 都添加到我的 package.json 中。
我的“开始”命令中是否有任何错误或对 observable 的概念有任何误解?