使用获取 API 调用(无 Redux)响应全局状态/属性



我有一个运行多个API调用的React组件。在初始加载时,将运行默认 API 调用。

从默认的 API 调用中,我需要保存状态,比如说来自一个名为 since_launch 的属性。在组件上运行后续 API 调用时,since_launch状态将丢失,因为它在后续 API 调用中不可用。我需要保存since_launch状态,以便可以使用它来确定其余 API 调用的逻辑。

应用程序不使用 Redux,因此这不是保存全局状态的选项。作为一种解决方法,我使用本地存储来在初始加载时保存since_launch,但这感觉不对。任何想法都将不胜感激或澄清我试图实现的目标根本不可能。

应用程序不使用 Redux,因此这不是保存全局状态的选项

使用检索多个 React 组件的数据并在它们之间共享/操作它似乎,该应用程序需要使用通量数据流,redux是它的最佳实现。此外,由于 API 调用始终是异步的,因此仅redux是不够的 - 您还应该使用进程管理器,例如redux-saga,这是建议任务的事实标准。

如果您不喜欢redux并且想使用自定义解决方案(这很奇怪),只需编写提供程序和简单的进程管理器即可。提供程序应存储共享状态,并通过Context机制在组件之间分发它。简单的进程管理器应该是该全生命周期组件中的中间件功能,并在队列中获取 API 调用的结果。
(但结果你只会重新发明这样的东西 https://github.com/freeman-lab/minidux)

无论如何,无论你是否使用redux,每个 React 组件,除了一个 -PageProvider- 都应该是没有自己状态的功能组件。在另一种情况下,使用React的好处将丧失。

最新更新