问题标签 [react-thunk]

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 投票
0 回答
16 浏览

reactjs - 如何正确设置获取标志

我正在尝试设置获取标志,但我遇到了问题。

我有一个获取状态值

另外,我有一个 thunk,我将状态设置为正在加载,然后在加载数据时将其设置为成功,并在 catch 中设置为失败。

然后在 UI 我有一些简单的检查

问题是,当我将一个组件从 Products 更改为 Cart 时,一开始我的获取状态等于成功。发生这种情况是因为成功加载数据时设置的最后一个状态是成功的。我正在使用反应路由器。我有一个想法,可以在使用 useEffect 卸载组件时将状态设置为空闲,但在我看来这不是正确的方法。

0 投票
2 回答
214 浏览

reactjs - 尝试使用 redux-thunk,但它显示错误,即使对我来说一切都很好

所以我正在关注一个实现 redux-thunk 的教程,并且已经完成了视频中的所有操作,但我仍然收到此错误:

错误:操作必须是普通对象。相反,实际的类型是:'Promise'。您可能需要将中间件添加到您的商店设置中以处理调度其他值,例如“redux-thunk”来处理调度函数。

代码如下所示:

这是动作

减速机:

以及发生错误的文件:

我真的看不到这里的问题,如果有人可以启发我,我会很高兴!谢谢!!:)

0 投票
1 回答
29 浏览

react-native - 即使凭据是对还是错,React Navigation 也会将我从登录屏幕带到主屏幕。此外,没有显示错误警报

Loginhandler 是单击登录按钮后调用的函数。以下是两个文件的片段。LoginScreen 是我的 login.js 文件,其中 Action 是我的操作文件。我也制作了减速器文件,但我的重点是从输入字段中获取用户名和密码,使用 loginhandler 函数将其发送到操作文件,成功时打开我的主屏幕,然后在错误时弹出警报。

0 投票
0 回答
90 浏览

javascript - 组件卸载时如何取消订阅 Firestore 快照侦听器?

我正在使用带有 Typescript 的 React 和带有 thunk 层的 redux。因此,我将我的一项操作定义如下,它处理 Firestore 快照侦听器。

当组件安装时,我按以下方式发送它。

所以,我的问题是当组件卸载时有什么最好的方法来取消订阅监听器?

0 投票
1 回答
72 浏览

javascript - 在展示组件中,Redux Store 状态未定义

我想在展示组件中访问 Redux Store State,但状态未定义。我制作了 Container Component、Presentational Component 和 Redux Store。

所以我尝试访问user演示组件,但user未定义。

我在为异步 API 请求创建 Redux Store 时使用 Redux-Thunk。

令人怀疑的部分是 Rdux Store State 有一个值,但我无法访问user演示组件中的状态

0 投票
2 回答
48 浏览

reactjs - 为什么我需要 redux 异步 thunk

我是整个 react redux 世界的新手,但我想我现在知道 redux 是如何工作的。但是现在我面临着一个新的挑战,我需要实现异步数据获取。我选择使用 axios 作为我的 http 客户端。

我现在遇到的问题是我已经阅读了有关 redux async thunk 的信息,但我不知道何时以及为什么要使用它。我知道它向 redux 添加了可以处理 async/await 和 promises 的中间件。

我想简单地使用 axios 来获取数据,然后使用 dispatch 来存储它们。像这样

这将如何createAsyncThunk帮助我?

0 投票
1 回答
59 浏览

javascript - 如何在没有 createSlice 的情况下使用 createThunkAsync

我有一个简单的减速器。我在 combineReducers 和 createStore 中使用它。我想使用 async thunk 来使用 axios 获取数据。我看不到的是如何在没有 createSlice 函数的情况下使用 thunk。你能指点我什么地方或解释一下吗?

0 投票
1 回答
369 浏览

javascript - 错误:无法读取未定义的属性(读取“get”)

我的项目的 HomeScreen 出现此错误
我想使用 redux 对我的 HomeScreen 页面的状态执行操作。数据从 api(项目数组)提供,然后呈现在屏幕上。毕竟这在我的网站页面上它说上面的错误。
productReducer.js

productAction.js

HomeScreen.js

productConstant.js

0 投票
1 回答
30 浏览

reactjs - Redux thunk 函数未执行

我最近开始研究 redux thunk。据我了解,它应该用于处理异步操作或需要从其他操作中调度操作的地方。所以我的商店配置如下:

我的减速器看起来像:

我的 thunk 如下(请注意,为了简单起见,我注释掉了进行异步调用的部分,而我只是测试了我的 thunk 的功能):

和我的组件:

我已经为这些编写了一些测试,但是在执行它们时,它们似乎没有运行 thunk 函数。in 中的console.log("HERE")语句registerUser已执行,但 return 方法中的任何日志均未执行。我错过了什么?

附带问题,不如前一个重要:现在我正在使用 Thunks,我的所有操作都需要是一个 thunk 吗?还是可以将 thunk 和动作组合在一起,这些动作总是纯 js 对象,不需要异步处理?

谢谢

0 投票
1 回答
20 浏览

javascript - Redux thunk 中间件未提供所需的输出

我是 Redux 的新手,正在从这里学习 redux 。
我一直坚持到视频13,所有示例都运行良好。
但是,我无法获得视频编号 13 文件中显示的代码所需的(或任何输出)
文件asyncActions.js
代码

预期输出

实际输出:


截图

实际输出截图

我错过了什么?