问题标签 [redux-reducers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 反应减速器,状态不立即更新
我正在使用减速器createContext
,reducers
我正在更新状态值,但它不是一次更新值,我这样做console.log(user);
了onSubmitSave()
,但是在控制台日志中我一次没有得到它的更新状态,我可以看到它在我工作时工作再次点击登录,在这里我附上了我的整个代码,任何人都可以查看它,并帮助我解决这个问题吗?
auth.js
登录.js
应用程序.js
reactjs - 自定义 Redux 撤消 reducer 状态变量无法识别
为了实现自定义撤消/重做功能,我按照https://redux.js.org/recipes/implementing-undo-history中的说明进行了修改以适应我自己的减速器。现在,当我尝试运行代码时,我得到了过去、现在和未来未定义的错误。该错误不会出现在最初的情况下,而只会出现在ActionTypes.LAYOUT_SET_MOVES
,ActionTypes.LAYOUT_UNDO_MOVES
和ActionTypes.LAYOUT_REDO_MOVES
情况下。
我已经搜索了代码并将状态变量与其他减速器进行了比较,但没有发现明显的原因。如果您能指出我正确的方向,我将不胜感激。
完整的减速器代码如下。
谢谢。
javascript - 将 dom 操作放在 redux reducer 中是个坏主意?
我有几个使用相同减速器的动作,而不是在每个动作中都有一个 dom 操作,我只想在我的共享减速器中添加一次。我知道减速器是纯粹的(返回的数据仍然是),但这是某种反模式还是可接受的策略?
react-native - Actions 接收信息,但 reducer 什么都不做?
我正在尝试将用户资源的实例发布到我的项目中。当我不得不等到我重新启动项目才能看到新实例时,我注意到状态没有更新。在我的项目中,用户和资源之间存在多对多关系,其中 user_resource 作为连接。
尽管该实例已发布在我的后端,但它不会显示在前端。我的 POST fetch 似乎接收了正确的数据,甚至采取了正确的操作,但随后无法更新减速器中的任何内容。我认为这可能与我如何为减速器设置特定案例有关,尽管我不知道我做错了什么。当我使用调试器时,它会触发动作,但不会触发减速器。我尝试为 user_resources 创建一个完全独立的减速器,但这也不起作用。
javascript - 做出反应。从另一个减速器获取状态
嗨,我怎样才能从另一个减速器获得价值?
Return userReducer.user_balance - 应该返回一个存储在另一个 reducer 中的值
它是我的userReducer代码:
reactjs - 简单的 React Redux 状态返回 undefined
我完全被这个难住了。我构建了最简单的 react redux 组件,目前仅显示商店中的计数器。然而,这个计数器总是以未定义的形式返回!
我希望计数器返回0
,因为这是减速器中设置的!
我已经遵循了无数教程,但我无处可去!
和
和
和
如您所见,这是一个非常简单的设置。我希望计数器返回0
,因为这是设置的初始状态counterReducer.js
但是我只是在前端得到“计数器未定义”!
reactjs - Redux combineReducers() 无法识别状态
我正在使用 redux combineReducers() 来组合 2 个减速器。虽然它们都在开发工具中被识别,但其中一个只是一个空对象,即使我将具有不同属性的对象传递给减速器。
combineReducers() 文件:
第一个减速器:
第二个减速器:
当我在 redux 开发工具中查看状态时,“auth”具有相关属性,但“job”只是一个空对象。我已经为减速器文件命名了不同的名称,以消除对别名的需求,但它没有任何效果。任何帮助表示赞赏。
reactjs - 如何在 reactjs 中创建自定义中间件来更新减速器?
当api发送带有更新令牌的响应时,我想更新reducer。我尝试从中间件调度操作,但减速器正在重置为其初始状态。
typescript - 在 combineReducers - Redux - Typescript 中按名称对 reducer 键进行排序
我有很多 redux reducer,它们在发送到 store 之前传递给 combineReducers。在 js 中,我通常会执行以下操作并对其进行排序。请注意,这里的减速器是虚拟的。
但是在打字稿中,如果我尝试做同样的事情,我实际上会遇到很多错误。
错误是
TS2345:“{}”类型的参数不可分配给“ReducersMapObject<RootState, PayloadAction<"@user/setCurrentUser", ADUser> 类型的参数 | PayloadAction<"@profile/setProfile", Profile> | PayloadAction<"@client/setClients", ClientMap> | ... 81 更多... | 有效载荷动作<...>>'。类型“{}”缺少类型“ReducersMapObject<RootState, PayloadAction<"@user/setCurrentUser", ADUser> 中的以下属性 | PayloadAction<"@profile/setProfile", Profile> | PayloadAction<"@client/setClients", ClientMap> | ... 81 更多... | PayloadAction<...>>':currentUser、profile、clients、models 和其他 22 个。
请指教。