我有一个情况,我的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中。那么,我还有哪些选择?