[英]Redux state outside redux's store
我的情況是我的react-native應用程序有一些我想要顯示的圖像,
export const myImages = Map()
.set('image-one, {
name: 'Foo',
source: require('./foo'),
})
.set('image-two, {
name: 'Bar',
source: require('./bar'),
})
我讓我的用戶選擇有問題的圖像類型,如下所示:
export const selectImageSaga = function*({ imageId }) {
yield put({ type: 'SELECT_IMAGE', imageId /* image-one, image-two, etc. */})
現在,在我的商店中,我引用了我想要顯示的圖像。 我可以調用myImages.get(reduxState.imageId)
來獲取我想要的數據,一切都很好。 我真討厭這個。
現在我的saga和我的react組件都需要引用一個外部的(可能,我在這個例子中沒有顯示這個)可變對象來獲取他們需要的數據。
如果它不是source
,我只會存儲我感興趣的文件的路徑或uri,就是這樣,我會將所有狀態保存在redux中。
這里有什么替代方案?
這里沒有魔力,我看到了3個主要的行動途徑:
1的優點是你的reducer是愚蠢和無狀態的,獲取相關信息的邏輯是在動作創建者中完成的。
2的優點是......好吧,老實說,我想不起太多,如果你找到一個,請告訴我。
3的優點是您的商店仍然相對較小且簡單,這有助於服務器端呈現和localStorage持久性之類的事情。 但反過來,它會使你的React組件變得不那么純凈。
這里沒有靈丹妙葯,我擔心,您需要根據項目的需求和慣例做出決定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.