我在reducer中放入了一些逻辑,我认为应该将其放入Action中并传递下去?将这类东西放在Action或reducer中是最佳实践吗?工作示例here.reducer代码:functionCard(){this.card=(Math.random()*4).toFixed(0);}Card.prototype={getRandom:function(){varcard;//console.log(this.card)switch(this.card){case'1':card='heart';break;case'2'://card='diamonds';card='heart';
事件(DOM事件或系统事件)是否与操作具有1:1的关系?即一次点击事件是否应该只触发一个Action?例如,假设我们有一个页面显示一个10行2列的表格。每行都有一个Product字段和一个Amount字段。Amount字段有一个范围为[0,10]的范围输入。用户可以单独设置每个产品的金额。用户还可以通过使用2个按钮获得2个选项。按下第二个按钮将禁用表格中除第一个产品以外的所有产品(实际上将其数量设置为0,用户无法再与它们交互以设置其数量)。我们称此为选项B按下第一个按钮会启用第一个按钮之后的所有产品(默认情况下将每个产品的数量设置为1),用户可以再次与它们互动,以单独设置它们的数量。我
我试图在创建特定的div时关闭一个函数。用最简单的术语来说,我有这样的东西:Clickme!$("#foo").live("click",function(e){e.preventDefault();$(this).append($("").html("newdiv").attr("id","bar"));});之前,我有突变事件监听div#bar的创建-像这样:$("#bar").live("DOMNodeInserted",function(event){console.log("anewdivhasbeenappendedtothepage");});是否有使用MutationO
我有一个React应用程序,我需要使用Redux对在线服务(异步)进行ajax调用(为了学习)。这是我的商店:import{createStore,applyMiddleware}from'redux';importthunkfrom'redux-thunk';importduedatesfrom'./reducers/duedates'exportdefaultapplyMiddleware(thunk)(createStore)(duedates);这是Action:importrestfrom'../Utils/rest';exportfunctiongetDueDatesOpt
我目前遇到的情况是我需要连续运行ReduxActions。我已经查看了各种中间件,例如redux-promise,它似乎很好如果你知道在根点上的连续Action是什么(因为缺少更好的术语)Action被触发.基本上,我想维护一个可以随时添加的操作队列。每个对象在其状态中都有该队列的一个实例,并且相关操作可以相应地入队、处理和出队。我有一个实现,但在这样做时我正在访问我的Action创建者中的状态,这感觉像是一种反模式。我将尝试提供一些有关用例和实现的背景信息。用例假设您要创建一些列表并将它们保存在服务器上。在创建列表时,服务器使用该列表的ID进行响应,该ID用于与该列表相关的后续API
在将Observables与ChangeDetectionStrategy.OnPush一起使用时,我正在努力思考最佳实践。该示例演示了想要显示某种加载消息(或可能是简单的微调动画)的常见场景:Plnkrhere@Component({selector:'my-app',template:`Areweloading?:{{loadingMessage}}`,//Obviously"Default"willnoticethechangein`loadingMessage`...//changeDetection:ChangeDetectionStrategy.Default//Butwh
我得到了由我的状态值填充的输入。Settings是我对Redux的状态。当我将一个值放入我的输入时,我必须指定一个onChange函数。这是我的onChange函数:handleFlashVarsChange(e){let{dispatch}=this.props;dispatch(changeFlashVarsValue(e.target.value));}它更改输入值的状态值flashVarsValue。但是当我输入我的输入时,它会滞后。我不明白为什么每次更改输入值时都要调用调度程序。有什么办法可以减少延迟吗?我的reducer:import{ACTIONS}from'../uti
请耐心等待,因为这个问题与我使用React、Redux或react-redux的第一个测试应用程序有关。文档使我走得更远,我有一个大部分可用的模拟银行应用程序。我的状态对象大致如下所示:{activePageId:"checking",accounts:[checking:{balance:123,transactions:[{date,amount,description,balance}]}]}我只有两个Action:1.CHANGE_HASH(如在url哈希中)。此操作始终按预期工作,reducer所做的只是更新state.activePageId(是的,我正在克隆状态对象而不是
我们有一个异步获取对象的操作,我们称它为getPostDetails,它采用一个参数来获取要获取的帖子一个身份证。用户会看到一个帖子列表,可以单击其中一个以获取一些详细信息。如果用户点击“Post#1”,我们会发送一个GET_POST操作,它可能看起来像这样。constgetPostDetails=(id)=>({type:c.GET_POST_DETAILS,promise:(http)=>http.get(`http://example.com/posts/#${id}`),returnKey:'facebookData'})这是由一个中间件拾取的,它将一个成功处理程序添加到pro
我正在使用redux,我不确定如何组织我的组件,我认为最好的办法是将它们保存在文件夹中,并将主要组件的名称作为文件夹的名称,并将所有内部组件放在里面:componentsCommon/thingslikelinks,headertitles,etcForm/buttons,inputs,etcPlayer/allsmallcomponentsformingtheplayerindex.jsthisoneisthetoplayoutcomponentplayBtn.jsartistName.jssongName.jsEpisode/anothercomponent然后,在容器文件夹中,我