【发布时间】:2016-04-20 06:26:15
【问题描述】:
我在使用 React 和 Flux 时遇到了麻烦...我们有一个与新的 Flux 聊天示例非常相似的应用程序。我们有著名的错误“在调度过程中无法调度”。但是,在某些情况下,我们很难想出一个好的方法来解决这个问题。
我们的疑问与此相同:https://groups.google.com/forum/#!topic/reactjs/mVbO3H1rICw,但我不能很好地理解所采用的解决方案。据我了解,这不是一个非常优雅的解决方案。
这是事件的顺序:
动作 A 已调度;
Store 更新其内部状态并发出更改消息;
React 组件 X 接收到更改消息(通过侦听器的回调)并更新其状态(setState);
组件 X 渲染,作为其中的一部分,新组件 Y 也被安装。我们使用状态信息选择要渲染的组件(Y、Z等);
新组件 Y 需要显示最初未加载的数据。所以我们在组件 Y 的 componentDidMount() 中调用了一个 API,它调用了一个动作 B。
然后,使用 Action B 中的新调度程序,我们会遇到这个调度错误。
如果你认为我们的应用逻辑有问题,我可以举一些实际的例子来说明为什么这种场景对我们来说很常见。任何关于如何重构这种“通量”的想法都非常受欢迎。
感谢您的帮助!
【问题讨论】:
标签: reactjs flux reactjs-flux