簡體   English   中英

Flux和React JS中的依賴動作

[英]Dependent Actions in Flux and React JS

我目前在我們的Flux應用程序中遇到一個問題,該組件需要首先獲取當前用戶,並且(且僅當獲取當前用戶時)使用另一個Ajax調用獲取該用戶的通知,如下所示:

_onCurrentUserChange: function() {
  this.setState(getStateFromStores());
  NotificationsActionCreator.getNotifications();
},

如您所見,在我們知道currentUser已更改之后,我正在嘗試將操作分配給getNotifications

但是,Flux不允許多次分派動作,因此我們決定應通過動作分派所有服務器請求。

因此,我沒有辦法等待currentUser被接收,然后分派動作來獲取通知。

正確的助焊劑方法是什么?

所以我想我應該以固定的方式發布給其他人看。

基本上,我們最終在WebApiUtils模塊中創建了一個函數,該函數對getCurrentUser和getNotificationsForCurrentUser后端路由進行順序Ajax調用。 然后,我們調度一個同時包含currentUser和通知的操作。 currentUser和通知存儲都偵聽此事件,並且每個都獲取其所需的數據。

如果要查看此代碼,請簽出: https : //github.com/krazemon/repcoin/blob/master/js/api.js#L16 https://github.com/krazemon/repcoin/blob/ master / js / stores / AuthStore.js#L59 https://github.com/krazemon/repcoin/blob/master/js/stores/NotificationsStore.js#L59-L62

我選擇此解決方案是因為它不違反我們商店的同步屬性,並允許我們避免級聯調度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM