我正在研究 Flux,我想我了解工作流程:
View -> Action -> Dispatcher -> Store -> View
但是,我不太明白应该在哪里填充商店的初始状态。
例如,假设我正在编辑联系人。所以我假设我有一个 ContactsStore
。这是我想象的当我访问 URL /contacts/edit/23
时会发生的情况:
- 我的
ContactsStore
以某种方式填充了我正在编辑的联系人,在本例中为联系人 23。数据将来自服务器。 EditContact
View 会收到来自ContactsStore
的通知,因此它会呈现初始状态。- 当我保存联系人时, View 将触发
SaveContact
操作,流程将继续。
我不清楚步骤 (1)。 ContactsStore
应该在哪里填充初始状态?我在哪里调用服务器?它在商店中吗?
谢谢。
最佳答案
您需要有权访问 EditContact
组件中的操作和商店。在 componentDidMount
处理程序中,您可以触发执行 api 请求的操作。成功后,它将联系人传递给 dispatcher
/store
。一旦商店收到 contact
,它就会触发 EditContact
组件订阅的事件。在相应的处理程序中,组件使用新联系人设置新状态。我敢肯定还有其他方法可以做到这一点,但我就是这样做的。
关于javascript - 在 React Flux 上,我应该在哪里填充商店的初始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31589305/