У меня есть ситуация, когда в моем приложении-реактиве есть несколько изображений, которые я хочу показать,
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)
, чтобы получить данные, которые я хочу, все хорошо и здорово.Я действительно ненавижу это.
Теперь и моя сага, и мои компоненты реагирования должны ссылаться на внешний и (возможно, я не показываю это в этом примере) изменяемый объект, чтобы извлекать данные, которые им нужны, когда они нуждаютсяэто.
Если бы не было source
, я бы просто сохранил путь или URI интересующего меня файла, и все, я бы сохранил все свое состояние в избыточном.
Какие у меня есть альтернативы?