【发布时间】:2015-05-02 15:50:11
【问题描述】:
我有一个 Calendar 组件,当使用名为 LoadOnMount 的特定道具渲染时,它需要调用服务器来加载一组航班。
问题是我通过侦听CalendarStore 的Events.UPDATE 事件来更新日历,该事件由我的调度程序调度的UPDATE_CALENDAR 操作触发,然后我使用另一个名为LOAD_FLIGHT_LIST。因此,当我从 Calendar 组件的 ComponentDidMount 函数调用这个新操作时,我得到了 cannot dispatch in the middle of a dispatch 错误。
有什么方法可以处理这些依赖关系? (日历也是从服务器获取的)
【问题讨论】:
-
您是否正在等待 2 个或更多对组件中存储的异步调用?如果我理解正确,您似乎正在尝试安装一个组件两次。这行不通。如果这是我建议使用
componentWillRecieveProps或shouldComponentUpdate的问题。在这里,您要确保从两个异步调用中获取信息。 (因为您对两个呼叫使用相同的事件)。如果我误解了您的问题,请纠正我。 -
抱歉,我的问题的措辞可能很糟糕:我只安装了一次组件,但如果某些条件为真,则需要两次调用服务器来获取其数据,但按一定的顺序。也许这个问题能更好地解释它:github.com/facebook/flux/issues/168
-
您的异步调用是同时发送的还是可以连续发送的?
-
我正在连续进行,只有在第一次调用的响应满足特定条件时才会进行第二次调用。
标签: reactjs reactjs-flux