我的应用程序是一个简单的文件浏览器,并有三个组件后一个动作:调度在ReactJS存储状态变化(ALT)
- 一棵树:代表由用户创建一个目录树;
- 一个简单的页面:与选定的目录内容;
- 通知组件:处理用户操作触发的消息。
当用户创建一个新文件夹时,文件存储(包含所有与这两个组件有关的数据)会随服务器响应而更新并通知组件,并且工作正常。
但我需要触发一个操作,该操作会将结果添加到NotificationStore消息中。这应该是一件容易的事情,但我试图做很长时间,没有成功。
我要解决的问题是在componentDidMount()中创建一个“store.listen()”,然后调用我的Action(添加通知消息),该Action被成功触发。但是它会导致一个错误:“不能在调度中间调度”。
有没有办法在商店状态更改后调用操作?
更新:
一种替代可以结合与FileActions的NotificationStore,然后使用“WAITFOR(FileStore.dispatchToken)”,然后将在存储的消息。它可以在这种情况下工作,但可能不在其他情况下。