草庐IT

Iterator-reducer

全部标签

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 - 在 ES6 之前的 Typescript 中实现 Iterator<T> 的推荐方法

这个问题在这里已经有了答案:typescript:makeclassobjectsiterable(3个答案)关闭5年前。我有一个项目,其中包含许多理想情况下会实现Iterable的类和/或Iterator接口(interface)。但是我似乎找不到这些接口(interface)的标准TypeScript定义(例如在typescript-collections或一些类似的包中)。我知道这些在ECMAScript6中通过Symbol.iterator有所标准化。机制,但我的目标是ECMAScript5,并且在可预见的future将保持不变。我能否以某种方式获得这些接口(interface

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中使用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 - 为什么 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 - 期望 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

javascript - 如何在 JavaScript 中使用 array reduce with condition?

所以我有一个数组constrecords=[{value:24,gender:"BOYS"},{value:42,gender:"BOYS"},{value:85,gender:"GIRLS"},{value:12,gender:"GIRLS"},{value:10,gender:"BOYS"}]我想得到sum所以我使用了JavaScriptarrayreduce函数并得到了它。这是我的代码:someFunction(){returnrecords.reduce(function(sum,record){returnsum+record.value;},0);}通过该代码,我得到了正确

javascript - preloadedState - session 结果被另一个 reducer 覆盖

我有一个session缩减器(使用redux-session库),它使用中间件从本地存储恢复状态。我可以从调试工具中看到这是按预期工作的,但是它正在被我的用户reducer的初始状态所取代。我觉得我应该使用preloadedState,但我无法将reducer的结果放入createStore中?storedState正在正确恢复(我可以将其登录到控制台)。session:{user:{data:bhBSh}},user:{data:null}我看不到重新加载页面时将“session”复制回“用户”的最佳方法?session缩减器:functionsessionReducer(state