我想知道如果商品不在商店中,那麼獲取商品的最佳方式是什麼。如果商品不在商店中,請發送一個操作以獲取它
例如,假設我有一個用戶列表,我想獲取特定用戶。如果該用戶不在商店中,我想從數據庫中取回他。
下面的代碼是否被認爲是最佳實踐還是有更好的方法呢?
const searchedUserId = 'abcdefg';
this.selecedUser$ = this.store.select(state => {
const selectedUserIndex = state.userList.findIndex(searchedUserId)
if (selectedUserIndex === -1) {
this.store.dispatch(new UsersActions.FetchUsers(searchedUserId));
} else {
return state.userList[selectedUserIndex]
}
})
商店應該是您的應用程序中唯一的數據來源。因此,如果用戶不在商店中,您應該派發一個操作來獲取數據並更新商店,然後您應該從商店中檢索數據。 –
但爲了取回用戶,我需要聽商店。 只有在選擇器內我可以做檢查... – doron