草庐IT

reduce_dim

全部标签

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

javascript - Redux reducer 的分支覆盖率

假设我有以下reducer:import{FOO}from'../const/Foo'constmyReducer=(initialState={foo:''},action)=>{conststate={}if(action){switch(action.type){caseFOO:state.foo=action.foo};}returnObject.assign({},initialState,state)}我用jest测试:importFOOfrom'../const/Foo'test('returnscorrectstatewhenactionisnot"Foo"',()=>

javascript - 将嵌套的 Redux 智能组件与 reducer 连接起来

与Redux的ToDo示例类似,我的项目结构也类似——只是一个容器,其中包含要显示的子组件数组。该商店将如下所示:{workspace:{widgets:[1,2,3]}widgets:{1:{id:1,title:'FirstWidget',lastPrice:123.324,lastUpdate:'2015-11-12'},2:{id:2,title:'SecondWidget',lastPrice:1.624,lastUpdate:'2015-11-12'},3:{id:3,title:'ThirdWidget',lastPrice:4.345,lastUpdate:'2015-

javascript - 如何使用javascript reduce函数计算满足特定条件的项目的平均值?

假设我有以下对象数组:vararr=[{"name":"John","score":"8.8"},{"name":"John","score":"8.6"},{"name":"John","score":"9.0"},{"name":"John","score":"8.3"},{"name":"Tom","score":"7.9"}];varcount=0;varavgScore=arr.reduce(function(sum,person){if(person.name=="John"){count+=1;returnsum+parseFloat(person.score);}ret

python - 在单核上运行的 python 3.x/Windows 7 上的多进程 map-reduce

我关注了这个nicetutorial显示如何将多个map实例作为进程运行。但是,在python3.4.3/Windows7x64上,任何时候都使用单核。frommultiprocessingimportPoolfromitertoolsimportrepeatimportrandomimporttimedefMap(L):returnlen(L)defMain():pool=Pool()lst=[random.sample(range(1,100),random.randint(1,50))foriinrepeat(None,1000000)]start_time=time.time(

c++ - 跨进程 COM 编码(marshal)拆收器 : reduce number of copies for large arrays

作为简化的案例:我需要通过现有的COM接口(interface)将VARIANT传输到另一个进程。我目前使用MIDL生成的编码器。实际传输是针对许多值的,是时间关键过程的一部分,并且可能涉及大字符串或safearray(几MB),因此复制的数量似乎是相关的。由于接收方需要“保留”函数调用之外的数据,因此编码(marshal)拆收器至少需要制作一份拷贝。然而,我能想到的所有签名都包括两份:SetValue([in]VARIANT)GetValue([out]VARIANT*)//calledbyreceiver在这两种情况下,根据我的理解,编码器制作了一个跨进程拷贝,但确实被编码器销毁了