901得票13回答
为什么在Redux中异步流程需要中间件?

根据文档,"没有中间件,Redux store 只支持同步数据流"。我不明白为什么会这样。为什么容器组件不能调用异步 API,然后dispatch动作呢? 例如,想象一个简单的 UI:一个字段和一个按钮。当用户点击按钮时,该字段将填充来自远程服务器的数据。 import * as Re...

578得票11回答
Redux-saga与ES6生成器相结合和Redux-thunk与ES2017 async/await相结合的优缺点

现在有很多关于redux镇上最新的孩子redux-saga/redux-saga的讨论。它使用生成器函数来监听/分派动作。 在我理解它之前,我想知道使用redux-saga与下面使用redux-thunk和异步/等待的方法相比的优缺点。 一个组件可能看起来像这样,像往常一样分派动作。 i...

104得票3回答
redux-thunk和redux-promise有什么区别?

据我所知,如果我错了,请纠正我,redux-thunk是一个中间件,它帮助我们分派异步函数并在操作本身中调试值,而当我使用redux-promise时,我无法创建异步函数,因为Action只抛出分派纯对象的异常。 这两个包之间的主要区别是什么?在单页React应用程序中同时使用这两个包是否有...

87得票2回答
如何在 Redux store 中监听特定属性的更改,以便在操作被分发后进行响应。

我目前正在尝试概念化如何处理在一个组件中根据数据更改分派动作,该更改是在另一个组件的分派后进行的。 以这种情况为例: dispatch(someAjax) -> 状态中的属性更新。 在此之后,我需要依赖于相同属性的另一个组件知道它已经更新,并根据新值分派一个动作。 与其使用某种类型的v...

78得票5回答
在 Redux Thunk 分发后从 Store 返回 Promise

我正在尝试使用Redux Thunk来链接多个dispathces。function simple_action(){ return {type: "SIMPLE_ACTION"} } export function async_action(){ return function(d...

77得票5回答
如何异步/等待处理 redux-thunk actions?

action.jsexport function getLoginStatus() { return async(dispatch) => { let token = await getOAuthToken(); let success = await verifyT...

77得票7回答
如何向Redux添加多个中间件?

我已经使用了一段中间件,redux-thunk,现在我想再添加一个中间件,redux-logger。 请问我该如何配置它以便我的应用程序同时使用这两个中间件?我尝试传入一个 [ReduxThunk, logger] 数组,但并没有生效。 代码:import React from 'reac...

59得票3回答
如何在Redux Toolkit的createSlice中使用Redux-Thunk?

我遇到了Redux Toolkit(RTK),希望能够进一步实现它提供的功能。 我的应用程序通过使用 createSlice({}) 创建的 reducers 片段分发操作(请参见createSlice api docs)。 到目前为止,这个方法运作得非常好。 我可以轻松使用内置的 dispa...

51得票2回答
React-Redux:合并reducers时出现意外的键

在合并 Redux reducer 之前,我的应用程序运行良好。但当我合并后,initialState 和 reducer 键混淆了。function flash(state = [], action) { switch (action.type) { case FLASH_MESSA...

41得票14回答
类型为“AsyncThunkAction<any, void, {}>”的参数无法分配给类型为“AnyAction”的参数。

store.tsexport const store = configureStore({ reducer: { auth: authReducer }, middleware: [], }); export type AppDispatch = ty...