问题标签 [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.
javascript - redux-api-middleware 如何为端点做全局设置
我们redux-api-middleware
可以像下面这样创建一个 API 调用,
问题是,对于每个请求,我都使用公共端点 http://localhost:1337
、标头内容类型和授权令牌 设置。
我需要一个地方来全局设置这些设置,从他们的官方文档中找不到解决方案。有人知道这个吗?或有任何想法来实现这一目标?
提前致谢..
javascript - redux-api-middleware 是如何向 store 添加数据的?
背景
我正在使用 redux 和 react 路由器创建一个通用的反应应用程序。我的大部分应用程序设置都带有服务器端渲染和基本的 redux 操作(在商店中修改布尔值)。现在我想进行一些 api 调用来获取我的应用程序的数据。
当前实施
我认为使用 redux-api-middleware 是个好主意,但我无法将数据添加到商店。我按照文档创建了一个看起来像这样的操作。
示例-action.js
我在我的页面中单击按钮运行此操作。我看到动作被触发,但没有任何东西进入商店。我什至为该SUCCESS
操作添加了一些自定义代码,并且能够做出console.log()
响应,但仍然无法将数据放入存储中。
此外,我还以与文档所述相同的方式将中间件添加到存储中。
configureStore.js
到目前为止尝试过
到目前为止,我已经尝试了一系列不同的操作,比如将操作变成可导出的符号并在 reducer 中调用它们,并尝试将数据合并到来自payload
redux-api-middleware 中的属性的当前状态,但是没运气。
问题
我真的有2个问题
- 为什么文档中没有减速器,这只是被忽略了还是响应中的数据直接进入了商店?
- 为什么我调用的数据没有添加到存储中(我缺少什么)?
非常感谢您对此事的任何帮助、解释或建设性批评,谢谢。
reactjs - 使用 redux-api-middleware 获取纯文本
我可以用 获取 txt 文件redux-api-middleware
吗?如果是,如何?根据文档,如果不符合应用程序/JSON,则将正文设置为undefined
,但我将得到一个简单的文本/纯文本
redux - 我可以在 redux-sagas 中使用 'take' 来等待进展吗?当这样使用时,Saga 流会跳回到 saga 中的较早点
我使用 redux-api-middleware 进行 api 调用,使用 redux-sagas 进行副作用。对于特定的表单流,用户可以进行 2 种不同的更改,这些更改需要由单独的 api 处理。如果我们其中一个失败了,整个传奇就应该失败。我有一个单独的传奇来处理失败。在某些情况下,这会中断。当我们查看开发人员工具时,saga 似乎运行了两次,跳到初始点,然后再次运行这些步骤。我已将此标记为评论。触发 saga 的动作只运行一次(在 redux 开发工具中验证)
这是模拟代码 -
行动 -
萨迦 -
这是创建此流程的正确方法吗?有一个更好的方法吗?
reactjs - 预取块内的 redux-api 同步操作
我正在用 react.js 编写一个 SPA,我正在使用 redux-api 来处理后端连接。我想在执行主要操作之前执行同步操作以刷新身份验证令牌;这样,每次我对后端执行操作时,我都会确保令牌有效。
如何以同步方式调用预取函数?那么首先刷新令牌,然后刷新动作?
编辑 我们可以做异步的东西,重要的是最后调用 cb(),这里是例子
asynchronous - 使用 redux-api-middleware 链接异步操作
我有一个使用 Redux、redux-thunk、react-router 和 redux-api-middleware 的 React 应用程序。
为了让我的应用程序中的页面组件能够呈现,我必须访问两个 API 端点并将它们的结果存储在 redux 存储中。
目前,我同时调度这两个动作。当一个动作的结果在另一个动作之前完成时,这会导致问题。因此,我需要确保在发送第二个操作之前完成一个操作。
在阅读了所有文档后,我无法理解如何使用 redux-api-middleware 实现这一点。
这是我当前的组件:
我试过了:
但这会导致catch
被调用而不是then
. 然而 GET_SETTINGS_SUCCESS 动作实际上已经完成,所以我对为什么调用 catch 感到困惑。我究竟做错了什么?
这是动作生成器:
reactjs - 去抖多个调度动作
我有一个自动完成组件,它需要来自两个独立 API 的结果。两个 API 都需要与一个去抖动周期一起调用,因为它是自动完成的。我正在使用 react-redux 和 redux-api。这就是我到目前为止所拥有的。请参阅我返回的 Search 方法。问题是只有一个调用发生。
在我的 AutoCompleteContainer.js
我应该在组件级别去抖动吗?或者这可以在这里完成吗?
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 工作。现在客户端渲染正在发挥作用,这很有趣。
react-native - 当将 expo 从开发模式切换到生产模式时,我的 RSAA 调用变得无效,为什么?
背景
我正在使用 expo 在我的 android 手机上查看我的 react native 应用程序。我已经实现了应用程序从中检索数据的节点服务器。为了检索数据,我正在使用该库redux-api-middleware
并将其存储在 redux 存储中。
我之前在常规反应应用程序中使用过这个设置,但不是 react-native。
问题
当我在 expo 中将应用程序从开发模式切换到生产模式时,我对服务器的调用不再起作用。我得到以下响应,而不是开发模式下的数据。
我当前的通话
问题
所以我遵循了 RSAA 请求的规则,但是一旦提出请求,我就会看到这个失败。它绝对不是我的节点服务器,因为它在开发模式下工作。有人可以为我解释一下这个问题吗?
javascript - 如何捕获来自 redux-api-middleware 的响应
我的行动:
我用以下方式调用它:
一切正常,我能够处理减速器中的数据。 问题是,我可以在调用函数时以某种方式获取函数的结果吗?
我的意思是这样的: