我在我的應用程序中有此代碼。如何在react-redux應用程序中有效地分派初始操作?
componentWillMount() {
if(!this.props.posts.request.sending && this.props.posts.items.length == 0) {
this.props.fetchData({
page: this.props.posts.request.page
});
}
}
等什麼代碼所做的就是當組件將被安裝,它會檢查,看看是否props.posts不發送任何請求,並沒有什麼項目數組中。如果是這樣,那麼它會派遣一個名爲fetchData
的操作。
我的問題是,有沒有這樣做,不需要反應來處理它的更好的辦法?因爲我只想處理UI/UX方面的事情,比如顯示數據並在單擊按鈕時分派動作,以及將初始獲取動作與分配動作完全分開等副作用。
EDIT [1]:
我使用的終極版,傳奇來處理我所有的副作用,我意識到,我可以做這樣的事情:
const request = yield select(getRequest);
const posts = yield select(getPosts);
if(!request.sending && posts.length == 0) {
yield fork(fetchDataWorker, { payload: { page: request.page } });
}
和它的作品完美的罰款,但這是好嗎?