Reactjs Redux数据依赖关系管理

Reactjs Redux数据依赖关系管理,reactjs,redux,dependency-management,Reactjs,Redux,Dependency Management,如果我需要从多个相互依赖的端点检索数据,我将试图理解我应该如何构造我的redux应用程序 例如,假设我有一个列出事件详细信息的组件。我有一个事件id,我需要获取该事件的所有信息,以及事件时间之间发生的所有事件。为了让我知道要搜索哪些事件,我需要获取所选事件的开始和结束时间 我如何构造一个组件来处理这个问题?到目前为止,我的想法是: ({event, conflictingEvents,fetchEvent, fetchConflictingEvents}) => { if (!ev

如果我需要从多个相互依赖的端点检索数据,我将试图理解我应该如何构造我的redux应用程序

例如,假设我有一个列出事件详细信息的组件。我有一个事件id,我需要获取该事件的所有信息,以及事件时间之间发生的所有事件。为了让我知道要搜索哪些事件,我需要获取所选事件的开始和结束时间

我如何构造一个组件来处理这个问题?到目前为止,我的想法是:

({event, conflictingEvents,fetchEvent, fetchConflictingEvents}) => {
    if (!event || !conflictingEvents) {
        if (!event) fetchEvent();
        if (!conflictingEvents) fetchConflictingEvents(event.start, event.end)
            return (/* empty state */);
    }
    return (/* actual state */);

上面提到的问题是,它依赖于缓存来避免创建无限循环

如果我理解正确,您正在尝试协调多个异步HTTP调用,并在运行时更新应用程序的状态,对吗


这项任务的惯用方法是使用。这允许您通过异步操作的一次分派从React组件触发加载过程。然后,此异步操作协调对后端的调用以及调用之间的数据映射

您可以根据需要在更新应用程序状态的过程中调度同步操作,例如向用户显示进度或显示最终结果

因此,完全封装了API调用的编排。呈现应用程序的React组件和reducer都不需要知道调用的顺序,或者在它们之间传递哪些信息。只有电话的中间和最终结果才与他们相关,而这些结果应该是你所在州的一部分



作为异步操作的替代方法,您还可以研究,这对问题采取了稍微不同的方法。

如果我理解正确,您正在尝试协调多个异步HTTP调用并在运行时更新应用程序的状态,对吗


这项任务的惯用方法是使用。这允许您通过异步操作的一次分派从React组件触发加载过程。然后,此异步操作协调对后端的调用以及调用之间的数据映射

您可以根据需要在更新应用程序状态的过程中调度同步操作,例如向用户显示进度或显示最终结果

因此,完全封装了API调用的编排。呈现应用程序的React组件和reducer都不需要知道调用的顺序,或者在它们之间传递哪些信息。只有电话的中间和最终结果才与他们相关,而这些结果应该是你所在州的一部分



作为异步操作的替代方法,您还可以研究,这是一个关于redux的问题,还是如何构建组件的问题?此外,依赖关系管理在哪里发挥作用?这是关于redux的问题,还是关于如何构建组件的问题?此外,依赖关系管理在哪里发挥作用?这或多或少是问题的核心。我想我对异步操作的看法很狭隘。我不认为异步操作可以执行多个同步Ajax请求,并同步发送同步动作。TLDR:异步操作非常灵活。如果可以的话,我会给你另外一个+1。我研究了它们,发现它们很适合多层依赖的用例。这或多或少是问题的核心。我想我对异步操作的看法很狭隘。我不认为异步操作可以执行多个同步Ajax请求,并同步发送同步动作。TLDR:异步操作非常灵活。如果可以的话,我会给你另外一个+1。我研究了它们,发现它们非常适合多层依赖的用例。