草庐IT

redux-tookit

全部标签

javascript - 如何划分 Redux reducer 和 action creator 之间的逻辑?

我在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';

javascript - 事件和 Action 是否有 1 :1 relationship in Redux?

事件(DOM事件或系统事件)是否与操作具有1:1的关系?即一次点击事件是否应该只触发一个Action?例如,假设我们有一个页面显示一个10行2列的表格。每行都有一个Product字段和一个Amount字段。Amount字段有一个范围为[0,10]的范围输入。用户可以单独设置每个产品的金额。用户还可以通过使用2个按钮获得2个选项。按下第二个按钮将禁用表格中除第一个产品以外的所有产品(实际上将其数量设置为0,用户无法再与它们交互以设置其数量)。我们称此为选项B按下第一个按钮会启用第一个按钮之后的所有产品(默认情况下将每个产品的数量设置为1),用户可以再次与它们互动,以单独设置它们的数量。我

javascript - Redux 中的异步操作

我有一个React应用程序,我需要使用Redux对在线服务(异步)进行ajax调用(为了学习)。这是我的商店:import{createStore,applyMiddleware}from'redux';importthunkfrom'redux-thunk';importduedatesfrom'./reducers/duedates'exportdefaultapplyMiddleware(thunk)(createStore)(duedates);这是Action:importrestfrom'../Utils/rest';exportfunctiongetDueDatesOpt

javascript - Redux 中的排队操作

我目前遇到的情况是我需要连续运行ReduxActions。我已经查看了各种中间件,例如redux-promise,它似乎很好如果你知道在根点上的连续Action是什么(因为缺少更好的术语)Action被触发.基本上,我想维护一个可以随时添加的操作队列。每个对象在其状态中都有该队列的一个实例,并且相关操作可以相应地入队、处理和出队。我有一个实现,但在这样做时我正在访问我的Action创建者中的状态,这感觉像是一种反模式。我将尝试提供一些有关用例和实现的背景信息。用例假设您要创建一些列表并将它们保存在服务器上。在创建列表时,服务器使用该列表的ID进行响应,该ID用于与该列表相关的后续API

javascript - React + Redux - 当输入具有来自状态的值时,输入 onChange 非常慢

我得到了由我的状态值填充的输入。Settings是我对Redux的状态。当我将一个值放入我的输入时,我必须指定一个onChange函数。这是我的onChange函数:handleFlashVarsChange(e){let{dispatch}=this.props;dispatch(changeFlashVarsValue(e.target.value));}它更改输入值的状态值flashVarsValue。但是当我输入我的输入时,它会滞后。我不明白为什么每次更改输入值时都要调用调度程序。有什么办法可以减少延迟吗?我的reducer:import{ACTIONS}from'../uti

javascript - React-redux 存储更新但 React 没有

请耐心等待,因为这个问题与我使用React、Redux或react-redux的第一个测试应用程序有关。文档使我走得更远,我有一个大部分可用的模拟银行应用程序。我的状态对象大致如下所示:{activePageId:"checking",accounts:[checking:{balance:123,transactions:[{date,amount,description,balance}]}]}我只有两个Action:1.CHANGE_HASH(如在url哈希中)。此操作始终按预期工作,reducer所做的只是更新state.activePageId(是的,我正在克隆状态对象而不是

javascript - 使用 Redux 获取数据时如何避免竞争条件?

我们有一个异步获取对象的操作,我们称它为getPostDetails,它采用一个参数来获取要获取的帖子一个身份证。用户会看到一个帖子列表,可以单击其中一个以获取一些详细信息。如果用户点击“Post#1”,我们会发送一个GET_POST操作,它可能看起来像这样。constgetPostDetails=(id)=>({type:c.GET_POST_DETAILS,promise:(http)=>http.get(`http://example.com/posts/#${id}`),returnKey:'facebookData'})这是由一个中间件拾取的,它将一个成功处理程序添加到pro

javascript - 如何构建 Redux 组件/容器

我正在使用redux,我不确定如何组织我的组件,我认为最好的办法是将它们保存在文件夹中,并将主要组件的名称作为文件夹的名称,并将所有内部组件放在里面:componentsCommon/thingslikelinks,headertitles,etcForm/buttons,inputs,etcPlayer/allsmallcomponentsformingtheplayerindex.jsthisoneisthetoplayoutcomponentplayBtn.jsartistName.jssongName.jsEpisode/anothercomponent然后,在容器文件夹中,我

javascript - 如何处理 Redux 中复杂的副作用?

我一直在努力寻找这个问题的解决方案......我正在开发带有在线记分牌的游戏。玩家可以随时登录和退出。完成一场比赛后,玩家会看到计分板,看到自己的排名,分数会自动提交。记分牌显示玩家的排名和排行榜。计分板在用户完成游戏(提交分数)和用户只想查看他们的排名时使用。这就是逻辑变得非常复杂的地方:如果用户已登录,则将首先提交分数。保存新记录后,将加载记分板。否则,记分板将立即加载。玩家可以选择登录或注册。之后,将提交分数,然后再次刷新记分板。但是,如果没有分数提交(只需查看高分表)。在这种情况下,只需下载玩家现有的记录。但由于此操作不影响计分板,因此应同时下载计分板和玩家记录。有无限数量的级

javascript - 如何将方法放到 Redux 状态的对象上?

根据docsReact应用程序的状态必须是可序列化的。那么类(class)呢?假设我有一个ToDo应用程序。到目前为止,每个Todo项目都具有name、date等属性。现在我想在不可序列化的对象上使用方法。IE。Todo.rename()会重命名todo并做很多其他事情。据我所知,我可以在某处声明函数并执行rename(Todo)或者可能通过propsthis.props.rename(Todo)将该函数传递给组件。我在某处声明.rename()时遇到了2个问题:1)在哪里?在reducer?很难在应用程序周围的reducer中找到所有实例方法。2)传递这个函数。真的吗?我应该通过以下