jjzjj

Mobx-Utils

全部标签

javascript - 如何跟踪 MobX 存储中的嵌套对象

让我们留下来,我通过API调用加载了这个myObject:myObject={fieldA:{details:'OK',message:'HELLO'},fieldB:{details:'NOT_OK',message:'ERROR'},}只有每个字段的详细信息和消息可以更改。我希望这个对象在MobX存储中是可观察的(哪些属性?将在下面定义)。我有一个简单的React组件,它从商店中读取两个字段:@observerclassAppextendsComponent{store=newStore();componentWillMount(){this.store.load();}rende

javascript - MobX - 替换可观察数组中的项目?

如果我错了,请纠正我,但目前使用replace是不可能的,因为replace会替换整个observable数组,应该使用map代替吗?我有一个这样的可观察数组:@observablequestionsList=[];在服务器调用时,它会填充2个对象,每个对象都有一个不同的id字段,所以它看起来像这样:@observablequestionsList=[{id:1,question:"Istheearthflats?",answer:"Somelonganswerhere..."{id:2,question:"Doesthemoonhavelife?"}answer:"Somelonga

javascript - Vue-test-utils:在单个测试中多次使用 $nextTick

我正在为vuelidate编写单元测试在我的组件中进行验证。我发现$touch()方法是异步调用的,所以我需要为expect()使用$nextTick()。当我需要两个nextTick()s用于两个expect()s时,问题就出现了。describe('Validations',()=>{letdataletmyComponentbeforeEach(()=>{data=()=>{propertyABC='notallowedvalue'}myComponent=localVue.component('dummy',{template:'',validations,data})it('

javascript - KnockoutJS 通过 ko.utils.extend 继承功能

我正在尝试将功能从父View模型继承到subview模型,如下所示:functionParentVM(){varself=this;self.MyFunc=function(){console.log(self.SomeVar);//thislogs"undefined"}}functionChildVM(){varself=this;ko.utils.extend(self,newParentVM());self.SomeVar="hello";}但是,当MyFunc被调用时,SomeVar是未定义的。 最佳答案 如果有人为此苦苦

javascript - ko.utils.arrayFirst 在不处理非空字符串的 else block 时总是返回 null

这可以正常工作:self.getById=function(id){returnko.utils.arrayFirst(self.PostArray(),function(item){if(item.postId===id){returnitem;}else{return'notfound';}});};console.log(self.PostArray().length);console.log(self.getById(170));但如果我将return''或returnnull放在elseblock中,我总是得到null,这是为什么? 最佳答案

javascript - 如何在 Redux 中使用类模型(使用 Mobx 选项)

编辑:我最终选择了Mobx.js,有关详细信息,请参阅@mweststrate答案。所有关于redux的学习资源都展示了如何将它与普通对象模型一起使用。但是当你使用一些es6类模型时,我无法弄清楚如何使用它。例如,让我们采用这种状态形状:{players:{000:{life:56,lvl:4,//...},023:{life:5,lvl:49,//...},033:{life:679,lvl:38,//...},067:{life:560,lvl:22,//...},//...}还有这个类(未测试)classPlayer{id;//intlife;//intlvl;//intbuff

javascript - Mobx:Observable 数组显示不正确

我想了解如何在Mobx中使用可观察数组。我很难弄清楚这是为什么:letentities=observable([]);entities[0]="foo";autorun(()=>{console.log(entities);});写道:[$mobx:Object]0:(...)1:(...)2:(...)3:(...)4:(...)5:(...)6:(...)7:(...)8:(...)9:(...)10:(...)11:(...)12:(...)13:(...)14:(...)15:(...)16:(...)17:(...)...999:(...)而不是经典数组?

javascript - Mobx 性能

我从不同的来源了解到,mobx优于react渲染器,并且比redux更快。然而,如果我做了几个测试,它表明向mobx可观察对象添加新数据非常慢。在nativereact环境中,每一毫秒都很重要,使用解决方案很棘手,即使循环超过200个元素并填充数组也需要超过100毫秒因为我真的很喜欢mobx,所以我希望有人可以看一下测试代码并给我一些提示-我做错了什么以及如何提高性能。import{observable,transaction,autorun}from'mobx';classRunner{list=observable([]);run(){conststart=newDate().ge

java - 使用 org.apache.commons.json.utils.XML toJson 将 XML 转换为 JSON - 将空元素更改为 "true"

我正在尝试将xml字符串转换为Java中的Json。这是一个示例代码:importorg.apache.commons.json.utils.XML;Stringtest="val1";InputStreamis=newByteArrayInputStream(test.getBytes());StringjsonString=XML.toJson(is);结果是:{"a":{"b":"val1","d":true}}我不明白为什么d的值设置为true?还有什么办法可以得到这个结果:{"a":{"b":"val1","d":""}} 最佳答案

javascript - 如何将 mobx 存储注入(inject)无状态组件

我在Web应用程序中使用mobx和react,我想找到一种方法将mobx存储状态传递给无状态组件.下面是我当前的组件源代码:importReactfrom'react';importPanelfrom'./Panel';import{inject,observer}from'mobx-react';@inject(allStores=>({form:allStores.store.form,}))@observerexportdefaultclassCreatorextendsReact.Component{connect(){console.log(this.props.form);