问题标签 [redux-api-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 投票
1 回答
725 浏览

javascript - redux-api-middleware 如何为端点做全局设置

我们redux-api-middleware可以像下面这样创建一个 API 调用,

问题是,对于每个请求,我都使用公共端点 http://localhost:1337标头内容类型和授权令牌 设置。

我需要一个地方来全局设置这些设置,从他们的官方文档中找不到解决方案。有人知道这个吗?或有任何想法来实现这一目标?

提前致谢..

0 投票
3 回答
1400 浏览

javascript - redux-api-middleware 是如何向 store 添加数据的?

背景

我正在使用 redux 和 react 路由器创建一个通用的反应应用程序。我的大部分应用程序设置都带有服务器端渲染和基本的 redux 操作(在商店中修改布尔值)。现在我想进行一些 api 调用来获取我的应用程序的数据。

当前实施

我认为使用 redux-api-middleware 是个好主意,但我无法将数据添加到商店。我按照文档创建了一个看起来像这样的操作。

示例-action.js

我在我的页面中单击按钮运行此操作。我看到动作被触发,但没有任何东西进入商店。我什至为该SUCCESS操作添加了一些自定义代码,并且能够做出console.log()响应,但仍然无法将数据放入存储中。

此外,我还以与文档所述相同的方式将中间件添加到存储中。

configureStore.js

到目前为止尝试过

到目前为止,我已经尝试了一系列不同的操作,比如将操作变成可导出的符号并在 reducer 中调用它们,并尝试将数据合并到来自payloadredux-api-middleware 中的属性的当前状态,但是没运气。

问题

我真的有2个问题

  • 为什么文档中没有减速器,这只是被忽略了还是响应中的数据直接进入了商店?
  • 为什么我调用的数据没有添加到存储中(我缺少什么)?

非常感谢您对此事的任何帮助、解释或建设性批评,谢谢。

0 投票
1 回答
2114 浏览

reactjs - 使用 redux-api-middleware 获取纯文本

我可以用 获取 txt 文件redux-api-middleware吗?如果是,如何?根据文档,如果不符合应用程序/JSON,则将正文设置为undefined,但我将得到一个简单的文本/纯文本

0 投票
1 回答
1174 浏览

redux - 我可以在 redux-sagas 中使用 'take' 来等待进展吗?当这样使用时,Saga 流会跳回到 saga 中的较早点

我使用 redux-api-middleware 进行 api 调用,使用 redux-sagas 进行副作用。对于特定的表单流,用户可以进行 2 种不同的更改,这些更改需要由单独的 api 处理。如果我们其中一个失败了,整个传奇就应该失败。我有一个单独的传奇来处理失败。在某些情况下,这会中断。当我们查看开发人员工具时,saga 似乎运行了两次,跳到初始点,然后再次运行这些步骤。我已将此标记为评论。触发 saga 的动作只运行一次(在 redux 开发工具中验证)

这是模拟代码 -

行动 -

萨迦 -

这是创建此流程的正确方法吗?有一个更好的方法吗?

0 投票
1 回答
132 浏览

reactjs - 预取块内的 redux-api 同步操作

我正在用 react.js 编写一个 SPA,我正在使用 redux-api 来处理后端连接。我想在执行主要操作之前执行同步操作以刷新身份验证令牌;这样,每次我对后端执行操作时,我都会确保令牌有效。

如何以同步方式调用预取函数?那么首先刷新令牌,然后刷新动作?

编辑 我们可以做异步的东西,重要的是最后调用 cb(),这里是例子

0 投票
1 回答
638 浏览

asynchronous - 使用 redux-api-middleware 链接异步操作

我有一个使用 Redux、redux-thunk、react-router 和 redux-api-middleware 的 React 应用程序。

为了让我的应用程序中的页面组件能够呈现,我必须访问两个 API 端点并将它们的结果存储在 redux 存储中。

目前,我同时调度这两个动作。当一个动作的结果在另一个动作之前完成时,这会导致问题。因此,我需要确保在发送第二个操作之前完成一个操作。

在阅读了所有文档后,我无法理解如何使用 redux-api-middleware 实现这一点。

这是我当前的组件:

我试过了:

但这会导致catch被调用而不是then. 然而 GET_SETTINGS_SUCCESS 动作实际上已经完成,所以我对为什么调用 catch 感到困惑。我究竟做错了什么?

这是动作生成器:

0 投票
1 回答
8323 浏览

reactjs - 去抖多个调度动作

我有一个自动完成组件,它需要来自两个独立 API 的结果。两个 API 都需要与一个去抖动周期一起调用,因为它是自动完成的。我正在使用 react-redux 和 redux-api。这就是我到目前为止所拥有的。请参阅我返回的 Search 方法。问题是只有一个调用发生。

在我的 AutoCompleteContainer.js

我应该在组件级别去抖动吗?或者这可以在这里完成吗?

0 投票
1 回答
2450 浏览

javascript - 如何让 Next.js 和 redux-api 工作(使用 next-redux-wrapper)

我正在努力让服务器端渲染 (SSR) 与redux-api. 该应用程序仅适用于客户端渲染 (CSR)。

要使 SSR 工作,我需要在 Next.js 的getInitialProps函数中提供数据。我正在尝试将next-redux-wrapper其绑定在一起。

当前状态:

我至少现在store进入getInitialProps了,但我收到了一条奇怪的Error: only absolute urls are supported消息,我的 CSR(pre- withRedux)版本的应用程序中没有。当然this.props.oneLesson.data是空的。

makeStore在服务器生成的调用上得到一个state= undefined,也许这是一个线索。

我也愿意用redux-api其他类似的东西代替。

更新 1:通过使所有 URL 都填满,Redux 现在正在访问我的 API 端点。但是,对于 1 页重新加载,它调用makeStore不少于 3 次,并且只有第一个调用包含正确的 slug,请参阅控制台输出:

更新 2:一个突破:返回一个承诺,getInitialProps使 SSR 工作。现在客户端渲染正在发挥作用,这很有趣。

0 投票
1 回答
580 浏览

react-native - 当将 expo 从开发模式切换到生产模式时,我的 RSAA 调用变得无效,为什么?

背景

我正在使用 expo 在我的 android 手机上查看我的 react native 应用程序。我已经实现了应用程序从中检索数据的节点服务器。为了检索数据,我正在使用该库redux-api-middleware并将其存储在 redux 存储中。

我之前在常规反应应用程序中使用过这个设置,但不是 react-native。

问题

当我在 expo 中将应用程序从开发模式切换到生产模式时,我对服务器的调用不再起作用。我得到以下响应,而不是开发模式下的数据。

我当前的通话

问题

所以我遵循了 RSAA 请求的规则,但是一旦提出请求,我就会看到这个失败。它绝对不是我的节点服务器,因为它在开发模式下工作。有人可以为我解释一下这个问题吗?

0 投票
1 回答
755 浏览

javascript - 如何捕获来自 redux-api-middleware 的响应

我的行动:

我用以下方式调用它:

一切正常,我能够处理减速器中的数据。 问题是,我可以在调用函数时以某种方式获取函数的结果吗?

我的意思是这样的: