草庐IT

javascript - 用于依赖状态切片的 Redux reducer/state-shape 设计

我喜欢Redux中的reducer组合的概念,但是遇到了这样一种情况,我喜欢将一个reducer分开,但是子reducer会依赖其他reducer的状态切片进行更改。例如在我的状态下,我需要跟踪以下内容:可能的排名范围(即[2,3,4,5,6])当前选择的排名(上述值之一)。根据所选级别,一系列可能的培训级别。关系是范围从[1..(selectedRank-1)]当前选择的培训级别在上述范围内最初,我有一个更大的reducer,它封装了所有这些方面:functionrankAndTraining(state={selectedRank:4,availableRanks:[2,3,4,5

javascript - 测试 Redux 组合 reducer

假设我有几个reducer函数,我使用combineReducers(...)将它们全部组合到一个reducer中,有没有一种方法可以测试组合的reducer实际包含哪些reducer?例如,如果我有这个:import{combineReducers}from'redux'constreducer1=(state,action)=>{...}...(morereducers,etc)constrootReducer=combineReducers({reducer1,reducer2,reducer3})exportdefaultrootReducer我可以使用Mocha和Expect

javascript - 如何在任意数量的链元素上使用 map 或 reduce 运行 promise-then 链?

我坚持以下几点:脚本返回任意数字n或数组,如下所示:[["a"],["b"],["c"],["d"]]我需要使用promisethen()遍历数组,但由于我不知道会有多少元素,所以我最终这样做了:varbundle_list=[["a"],["b"],["c"],["d"]];varx=bundle_list.reduce(function(current,next){console.log(current);//requestBundlewillalsoreturnapromisereturnrequestBundle(current).then(function(bundle_re

javascript - 如何在对象内部执行递归归约函数?

我正在使用Javascript在客户端上执行此操作。我要转型:[{"id":10,"name":"Designer","slug":"designer","children":[{"id":11,"name":"UI/VisualDesigner","slug":"ui-visual-designer","children":[]},...]},{"id":1,"name":"SoftwareEngineer","slug":"software-engineer","children":[{"id":2,"name":"Back-EndDeveloper","slug":"back-e

javascript - 在javascript中使用reduce函数查找数组的最小和最大数量

纯属好奇。使用reduce函数,我们可以很容易地分别找到数组中的最小和最大数。就这样:vara=[1,2,3,4,5,1,-1,6,7,8,9,10,2,11];a.reduce(function(prev,cur,index,array){returnprev>cur?prev:cur;});//returns11a.reduce(function(prev,cur,index,array){returnprev鉴于此,为什么这不起作用?vara=[1,2,3,4,5,1,-1,6,7,8,9,10,2,11];varsmallest=0;varbiggest=0;a.reduce(

javascript - 测试数组索引是否等于数组值

代码是当数组中的值与索引相同时,返回数组中最低的索引。如果没有匹配项,我应该返回-1。例如:indexEqualsValue([-8,0,2,5])output:2//array[2]==2indexEqualsValue([-1,0,3,6])output:-1//nomatches代码在没有匹配项或数组长度为零时有效,但在其他时间无效。我认为问题是我的if语句中的第一个条件。我不一定想要答案,更多关于我应该检查/重写的提示。谢谢!functionindexEqualsValue(a){returna.reduce((acc,currV,currI)=>{if(currI===cur

javascript - 为什么 Redux reducer 必须没有副作用?

我一直在我的React应用程序中使用Redux,但有些事情一直困扰着我。Redux的文档非常清楚地表明reducer应该是无状态的。你经常会看到这样的例子:functionreducer(state={exampleState:true},action){switch(action.type){case"ACTION_EXAMPLE":returnObject.assign({},state,{exampleState:false});default:returnstate;}}我的问题是为什么需要这样做?JavaScript是单线程的。reducer内部不可能出现竞争条件。据我所知,

javascript - 带下划线的 map 缩小对象

我想将此对象缩减为仅包含产品名称和平均价格的对象。最快的方法是什么?varfoo={group1:[{name:"one",price:100},{name:"two",price:100}],group2:[{name:"one",price:200},{name:"two",price:200}],group3:[{name:"one",price:300},{name:"two",price:300}]}导致varfoo2=[{name:'one',price:200},{name:'two',price:200}];谢谢! 最佳答案

javascript - 期望 reducer 是一个函数

我创建了一个新的react-native项目并编写了一个redux演示。IOS模拟器显示错误“Expectedthereducertobeafunction”。我试图从预览答案中解决问题,但它不起作用index.ios.jsimportReact,{Component}from'react';import{AppRegistry,StyleSheet,Text,View}from'react-native';import{createStore}from'redux';import{Provider}from'react-redux';import{reducers}from'./sr

javascript - Mongodb Map/Reduce - Reduce 不会被调用

我正在尝试在Mongoshell中执行一个简单的mapreduce,但reduce函数从未被调用。这是我的代码:db.sellers.mapReduce(function(){emit(this._id,'Map')},function(k,vs){return'Reduce'},{out:{inline:1}})结果是{"results":[{"_id":ObjectId("4da0bdb56bd728c276911e1a"),"value":"Map"},{"_id":ObjectId("4da0df9a6bd728c276911e1b"),"value":"Map"}],"tim