reactjs - 如何使用异步请求服务器渲染 redux 应用程序?

标签 reactjs redux

我想构建服务器渲染的 redux 应用程序,并使用渲染路由处理程序 React 组件所需的 API 请求。

我在我的操作中传递请求生成函数,自定义中间件触发请求并分派(dispatch)其结果。对于客户端来说它工作得很好,但我在服务器渲染时遇到了两件事:

  1. 我需要知道哪些 API 请求是路由渲染所必需的,并且不想在客户端和服务器渲染器代码中重复这些知识。
  2. 在服务器上,我需要知道我的 API 请求是否结束,以便我可以将 html 渲染为字符串并将其扔给客户端。

有什么想法/链接吗?

最佳答案

我也在做同样的事情,基本上是使用一个函数通过在组件中指定应运行哪些操作来获取信息,从而从 API 调用中获取所有所需的信息。

我不想在这里花太多时间解释这一点,因为有一个关于如何实现此目标的优秀教程 here (而且效果很完美)

干杯。

关于reactjs - 如何使用异步请求服务器渲染 redux 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33391560/

相关文章:

reactjs - 当我只能在浏览器中使用 React 时,为什么要使用 create-react-app 呢?

javascript - 检查使用包含 'synthetic event' 的对象调用的监视函数时, Jest 测试会导致 'currentTarget' 错误

reactjs - RTK 查询使用 getState() 从另一个切片获取状态

javascript - 如何创建切换导航栏以与 redux thunk 使用react

reactjs - enzyme :用浅层,redux store更新不会触发componentDidUpdate

css - 容器内的多行 - Flex - React-Native

javascript - React 组件未在 Bootstrap 选项卡中呈现

reactjs - 不变违规 : Tried to register two views with the same name RNCSafeAreaProvider error with @react-navigation/stack

reactjs - TypeError : _mapboxGl. default.Map 不是构造函数

javascript - React Redux onBlur 事件在 Safari 和 Firefox 中未触发