Javascript 通量和反应中的依赖作用
我目前在我们的Flux应用程序中遇到一个问题,组件需要首先获取当前用户,并且,如果且仅当当前用户被获取时,使用不同的Ajax调用获取该用户的通知,如下所示:Javascript 通量和反应中的依赖作用,javascript,reactjs,reactjs-flux,react-jsx,Javascript,Reactjs,Reactjs Flux,React Jsx,我目前在我们的Flux应用程序中遇到一个问题,组件需要首先获取当前用户,并且,如果且仅当当前用户被获取时,使用不同的Ajax调用获取该用户的通知,如下所示: _onCurrentUserChange: function() { this.setState(getStateFromStores()); NotificationsActionCreator.getNotifications(); }, 如您所见,在知道当前用户已更改后,我正试图将操作分派到getNotifications
_onCurrentUserChange: function() {
this.setState(getStateFromStores());
NotificationsActionCreator.getNotifications();
},
如您所见,在知道当前用户已更改后,我正试图将操作分派到getNotifications
但是,Flux不允许多次分派操作,我们决定所有服务器请求都应该通过操作分派
因此,我无法等待接收currentUser,然后发送操作以获取通知
做这件事的正确方法是什么?所以我想我应该把我解决这个问题的方法发布给其他人看 基本上,我们最终在WebApiUtils模块中创建了一个函数,该函数对getCurrentUser和getNotificationsForCurrentUser后端路由进行连续的Ajax调用。然后,我们分派一个包含currentUser和通知的操作。currentUser和notification存储都侦听此事件,并且各自获取所需的数据 如果要查看此代码,请查看:
我选择此解决方案是因为它不违反存储的同步属性,并允许我们避免级联调度。我遇到了类似的问题,我添加了一个项(ajax调用1),然后获取包含所有项的整个列表,包括一个新添加的项(ajax调用2)。我决定也在api中解决这个问题,就像你一样。谢谢你发布源代码的链接。没问题。很高兴这对你有帮助。