问题标签 [redux-actions]

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.

0 投票
1 回答
77 浏览

javascript - 在 Redux 中使用动作创建器的主要好处是什么?

假设我有一个input组件将从其onChange处理程序更新状态。

我认为选项 #2 更具可读性,那么为什么我要使用动作创建器而不是常规动作调度呢?

0 投票
0 回答
1309 浏览

reactjs - 计算属性名称的类型必须为“字符串”、“数字”、“符号”或“任意”.ts

我在 Typescript 中使用 redux-saga 和 redux-actions,如下所示:

我从这里尝试了很多答案: Typescript setState with computed property names

但没有什么适合我的情况。

我得到了错误去做这个:

但我担心这可能会在以后引起问题任何见解都会受到赞赏。

谢谢你。

0 投票
1 回答
39 浏览

reactjs - 我无法让 Redux 操作工作有一些我无法发现的错误请建议

我找不到我做错了什么,但action saveUser已导入并且mapDispatchToProps看起来链接action正确但我仍然收到此错误

在此处输入图像描述

(在此代码之后有action代码)

mapDispatchToProps正在链接,action saveUser如果我按住 CTRL 键单击它,VSCode 会像这样跳转到 Action:
那么为什么会出现错误“TypeError:saveUser is not a function”

在此处输入图像描述

在类 LinkAccounts.jsx 中有mapDispatchToProps.

这是文件 user.actions.js 中的操作:

0 投票
2 回答
519 浏览

reactjs - redux-logger 突然不显示动作名称只有“对象,对象”

我学习 react 并尝试让 Redux 工作,所以我使用Redux-logger。从 App.js 调度两个操作时,它作为顶部图像显示“ALBUME_DATA_LOADED”。

然后我从另一个地方发出一个调度并得到这个输出:

在此处输入图像描述

我不确定我是否发送了那个“对象,对象”动作,我放置了断点和控制台日志,奇怪的是反应记录器捕获了一个我认为我没有发送的动作..

任何的想法?

这是我在以下代码中使用的操作类型userActionTypes

文件 user.types.js:

这是动作:

文件 user.actions.js;

0 投票
0 回答
69 浏览

reactjs - Redux action 的 as function 或 as constants 有什么区别

我学习 Redux 并想知道这两种创建动作的方式(Action Creators)

NR:1

NR2

我读到 Redux Thunk 需要该function版本,但我也看到了const使用该版本的示例?

Thunk 减速器是 NR1 版本吗?
和 Redux 基本减速器的 NR2?
NR1 版本是“Action Creators”还是两者兼而有之?

有什么不同?

0 投票
1 回答
317 浏览

typescript - Reducer 自定义调度类型,不可分配,属性“调度”的类型不兼容

我现在有一个简单的减速器和动作类型。在设置我的测试时,我遇到了 type def 问题,返回 mystore引用我的“自定义”操作类型声明。我看到一个错误:

类型 'Store<CombinedState<{ global: GlobalStateShape; }>, SetSelectedAccount >' 不可分配给类型 'Store<any, AnyAction>'。属性“调度”的类型不兼容

我已正确遵循Redux Typescript 文档AFAIK。

为什么SetSelectedAccount我调用时返回combineReducers()globalReducer是处理的动作SetSelectedAccount

在发生上述错误的我的测试设置文件中:

src/reducer.ts

src/store.ts

global_reducer.ts:

动作.ts


FWIW,如果我添加第二个动作,然后SetSelectedAccount变成上面的返回类型,GlobalActionTypes它是相同的结果和关于不匹配的错误消息dispatch

谢谢!

0 投票
1 回答
743 浏览

reactjs - Redux thunk - 错误 · 动作必须是普通对象。使用自定义中间件进行异步操作,即使调度具有键类型的对象

特定操作功能出现以下错误:

错误 · 动作必须是普通对象。使用自定义中间件进行异步操作

下面的代码在我的系统上运行良好,但在不同用户的bugsnag 上记录错误。

反应组件文件:

动作文件:

检查关于 SO 的不同问题,我可以理解当我们不使用调度或在调度返回的对象中键入键时出现此错误。但我正在做这两件事。

并非所有机器/操作系统/浏览器都发生错误。仅供少数用户使用。

上面的代码有什么问题?任何指导将不胜感激。

并不是每个动作都会发生这种情况,所以我猜配置很好。

更新:

我正在使用 redux thunk。

0 投票
1 回答
18 浏览

javascript - ActionCreators 和 Actions 可以与 Redux 混合使用吗?

我的经验主要是 React Hooks & Context,其中定义了 Actions & Reducers。然后将 Actions 导入 React 组件并通过 Dispatch 函数调用。

在一个新项目中,我必须使用 React Hooks 和 Redux。这里我使用的是 Action Creators & Reducers。这是我创建的 Action Creator 的示例:

这很好用。

这是我的情况:我需要有一个动作来创建一个“空”的公司,所以没有必要创建一个动作创建者。因此我创建了一个这样的动作:

使用 Action Creator,我从内部调用它,useEffect如下所示:

使用 Action,我想我可以以与我一直使用 Context 调用动作的方式类似的方式调用它,如下所示:

不幸的是,我收到了这个流错误:“无法 InitEmptyCompanyAction从值位置引用类型 [1]。”

我做错了什么以及如何解决这个问题?

0 投票
0 回答
29 浏览

mysql - 获取后端不工作,redux 和 mysql

我同时使用 npm 同时运行前端和后端,但仍然没有正确连接到后端。该路径生成正确并在邮递员中工作,但当我从站点调用它时却不行。我已经通过调试器运行它,并缩小了范围。我确信这与我设置代理的方式有关,但我不确定我到底是不是出错了帮助!

前端包.json

redux 中的操作:

如果有一个部分我没有包括你们都需要帮助我解决这个问题,请告诉我。

谢谢!

0 投票
1 回答
310 浏览

reactjs - 测试 redux 操作

如何使用 Jest 使用 React-redux 操作测试此文件:

如果我使用“redux-actions”库,在 Internet 上找不到如何测试操作