问题标签 [redux-middleware]

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 投票
2 回答
74 浏览

javascript - 如何检索 yield 函数调用的值?

我正在做一个去年开始的项目,开发人员不在我身边。他们写了这段代码:

getUserByUsernameService 的代码:

makeGetRequest 的代码:

在运行时我得到Cannot read property 'data' of undefined对应的代码

yield put({ type: 'FETCHED_USER', payload: response.data.user });

那么有什么问题呢?

0 投票
1 回答
120 浏览

reactjs - 在redux的自定义中间件中调度异步函数

我正在尝试创建一个自定义中间件,该中间件logout根据 redux 中的某些条件调度操作(异步函数)。一旦动作被调度,它就会抛出错误RangeError: Maximum call stack size exceeded

商店.js:

我究竟做错了什么?提前致谢

0 投票
1 回答
52 浏览

reactjs - Redux 给出错误“错误:操作必须是普通对象。使用自定义中间件进行异步操作。”

我对redux很陌生。我尽力解决了 redux 中的这个错误,但它仍然给我一个错误。错误是消息是:

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

请帮我解决这个问题。

错误指向返回后的行。这是我的代码:

并且fetchState在我的 action.jsx 中定义

0 投票
0 回答
64 浏览

reactjs - 创建 redux 中间件以将标头参数添加到 axios 请求时出错

我正在尝试自动向所有 axios 请求添加访问令牌,并且我正在使用(或尝试)中间件。但我收到以下错误:'store' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.

存储/索引.ts

中间件.ts

我的中间件不正确吗?我怎样才能输入它(我尝试了 StackOverflow 的不同方法,但它们导致不同的错误)?

0 投票
0 回答
39 浏览

reactjs - 使用自定义中间件的钩子从状态中获取价值

我创建了一个自定义中间件,它调用一个类方法来向所有 axios 请求添加授权标头,但是当这个钩子尝试使用useSelector钩子从状态中选择数据时,我得到一个错误。

Invalid hook call. Hooks can only be called inside of the body of a function component

如何从此中间件获取处于状态的 accessToken 存储?

中间件.ts

authManager.ts

0 投票
2 回答
473 浏览

typescript - 自定义中间件导致 redux 中的循环引用

我正在尝试使用提供的文档将 redux 项目转换为打字稿:

https://redux.js.org/usage/usage-with-typescript#type-checking-middleware

但是,我在使用自定义中间件时遇到了麻烦。这是对我来说导致错误的最小化和提取代码。

商店.ts:

customMiddleware.ts:

这会导致几个错误消息: on const store = configur...

'store' 隐式具有类型'any',因为它没有类型注释并且在其自己的初始化程序中直接或间接引用。

关于 RootState 导出:

类型别名 'RootState' 循环引用自身。

关于 customMiddleware 导出:

'customMiddleware' 隐式具有类型'any',因为它没有类型注释并且在其自己的初始化程序中直接或间接引用。

0 投票
0 回答
28 浏览

javascript - redux 的 getDefaultMiddleware 属性的正确字符串格式是什么:IgnoredActions

通读文档。我发现的最好的例子是:

我定义为

但是我仍然收到一个错误:其类型是

我已经尝试了几种变化......我似乎无法让它工作。

0 投票
1 回答
47 浏览

javascript - react redux 中间件无法访问 utils 中定义的变量

您好我创建了一个 redux 自定义中间件并尝试调用apiUrl从 ./utils/api.js 文件定义和导出的常量值。但收到此错误

ReferenceError:在初始化之前无法访问“apiUrl”

  1. .utils/api.js文件
  1. redux-custom-middleware.js文件

虽然,这个常量值可以在整个应用程序(所有组件和操作)中访问,但无法在 redux 自定义中间件中访问它。

谢谢

0 投票
1 回答
247 浏览

typescript - Typescript:如何键入处理异步操作的自定义 redux 中间件

我希望这个周末每个人都做得很好!

免责声明:我已经研究了一整天,只有在尝试了很多东西之后才来寻求帮助,我打开了 20 多个 StackOverflow 链接并阅读了它们......

我有这个自定义的 redux 中间件,用于捕获失败的承诺并为每个承诺分派一个动作。

我要解决的问题是async (action: AnyAction) => {

我收到一条错误消息说

这是因为incrementAsync使用createAsyncThunk来自 '@reduxjs/toolkit';

所以我相信我需要将最后一个函数`async(action:AnyAction)=> {`类型的action更改为别的东西,但是我想不通,请问您的话有启发吗?

如果有帮助,这里是打字稿游乐场的链接

https://www.typescriptlang。org/play?#code/PTAEEsFsAcHsCcAuoDeoCCA7AnugxouLJqAL6gBm8skoARPAKYAmArgB50BQUcSqoAOaNk5KjXoAbWMwCGAZwAWdANw8YCZGjxNZiRunnZMeACqLWmANYAaUDsZ7GAZUng8jOwAVZ2abOZ8QmIySmpaAHIAASY2dgAreWBEWFhJK3BECLUudT4tLlAMIxNzSysgokwbQtAAEXB5aD08RRqigFlwZmZJRgB3WSZ20DLrBqaWttqunr7BpnQvAEkRrFwCKpGQItAfP1gAyuIasXD6GJYOROTU9MzVXLxieWRhRGX5L3DGxlAAXlAAApmgcAgAuUDlTCwfqYACUAIAfLUAISo94g3z+Zh2OiIRSMTB0REAH1JoHRmNBOLx0B+8kYADoCUSSTlnphXqBGPBqPAABKyTC9XkA4HNeCySCQ17wcCYQSI-5I1CkXIK-TwCiyDygZbObCvRiQACifIQqFqRX0r1liHlirUu1ASlgrEkzGcGWgQpFfXN-MhOskjLU6q4nO5AWYgctgKBvKDoGF2GVqqBKFqiGw0EYkLoSYQSXQdTqAH1TQAlKsAeSrdBGRfgp3hHJeyGbs1FC3zoG78yGf3+tUzoGYjWaiFaZEhA4GQ6Wy3To8wjHYiEhEynrRXRQUxjwwN1wUwkPWxwRyKtLqjWlAkBEsjsNMOzFCgJPVWduzvAn6mSKHGgrCqKLbjowOoeogwEAMIyH85CAo+iCyDkt4dhAXwMsOQgiJ83w0L8WJgswba5C64AUMCjSEZAvygAAZIxoAAQSwF+mBiJZi6RRMIgrDwCQa4bkCX7EPC1q8UyeBTImFogf6vJAswkGyNBcEIfCkm8bsMlyUCiigX0sYKZCBpGvoZoKXuum7HRvxMkw8SMAQQJSXZoBGUppn8kyboel6PqcQGCkeZ5oAAPxecZLDAeFnmQhOkzTooYk9MBhmxb5CDaQluw6XZ5EuhGLr8YJwnrogYmbBJP6kDkXDrvklCWLVJAUCIrTwZY1XSu6mDIICACM3G1OVQmgGu-R7DhAA8aByKhkKYKwkAAEZiqQSJAkCTDyGkABujC2UUjKIKYUCMO61VAumoD7UdjBjktsiQv1vVkPCdgAKwAAx-YV5ERk17AtX+CoOI+g2GIe4oOE4sOlBY1juUUETPL1vLAJ1qU9YNEQjAeJjHpAA2blNa2bfA908b+mH7XAXK4bIgyZJQXWKPjfVk71xW7Ds5h-IdsiSKwfz9H8E0kJtzyPvIoCsqAAAGFAehQ4CSCZyspu1oCvgEUnSw9jBNC8zKvfVXDkVwOxzetrCICkmC22At6SAo8gAHLSow-woK8fim0yxN4AAQo7zvqjsLrELBbh4FY-t3deyU7mlkNMNDiBI3gQKZyaRKIA​​AaqL4vadtuSu6MiiNIrijUP0CtKxQaTSABio8mF1foPAghrUXoCwNROZ5qAES52MFTtXNq0bbydhz9TdgoNtERYVNsDIJ74CCJgsjrX0iuwPrQy+1qQ8j7mfwTzgl4REy1dFIReZINg4+j4w691-R8jyAqggIAkE-uPSeKNp6nlnlTBelN57gVXkideDtkBMAAI6sHALEIBitr6gLvu1B+RRTDOAAEwAGYAAsP1cgx12D9MhoAKSeXtpHYgT86EUMYRFIoeAPZ-x9o+f2gc+jyBDiUcOrDMDRzdqAVUP0fpcO4XHBOScUApxVOOScckC7Z1zvnEwWci6lzFideE0jPJMO4VY6xAA9dhRQfoADZFF2RRLQhxAB2Fxnl0A9GKIeexoAfoAA5vG8TmsAZBzskRAA

0 投票
2 回答
130 浏览

reactjs - redux 中 react 与 redux thunk 中间件的 useEffect 挂钩

使用效果钩子用于执行反应中的网络请求等副作用。

redux-thunk 中间件也用于在 react 中执行诸如网络请求之类的副作用。

我很困惑,它们的实际应用有什么区别,还是只是选择问题。