从 REST API 中激活 React/Redux 应用程序

Hydrating a React/Redux App From a REST API

我的前端有一个 React/Redux 应用程序,后端有一个 REST API 应用程序,我使用 JWT 作为一种 'session' id(来自带有 Laravel Passport 的盒子,我的 oAuth 服务器)。

无论如何,我想知道当您有一个 RESTful 服务具有单个资源的端点时,在页面最初加载时补充 redux 存储的最佳策略是什么。

目前我正在组件安装上进行。所以说一个组件列出了一个资源,我称 api/hydrate 存储在该资源的组件安装上。虽然这会导致许多 API 调用,并且可能会在组件再次安装时导致不必要的调用。

是否有您知道的更好的替代方案?我主要担心的是我不想在我的 API 中引入一些奇怪的端点,专门用于保湿页面。

不要将组件绑定到 api 端点。使用他们的生命周期挂钩来触发数据的初始获取,但通过分派异步操作。当一个组件再次被挂载时,它可以从 redux 状态渲染它的资源,或者 运行 一些逻辑来确定它已经过时并分派另一个动作来更新商店。