У меня есть несколько классов, в которых я хотел бы хранить экземпляры в магазине redux.Хранение экземпляров класса в магазине redux
Классы являются одноточечными, и для каждого класса есть только один экземпляр.
И я храню их в состоянии с именем класса (или что-то уникальным) в качестве ключа.
Я могу хранить их в порядке, но компоненты не являются рендерингом.
Я думаю, это потому, что я всегда мутирует экземпляр (потому что это синглтон)
Как следует хранить использовать экземпляр/класс в Redux?
Что делать, если это одиночный экземпляр?
- редактировать
У меня есть простые объекты/массивы в singletone экземпляре.
А также есть функция (создатель действия).
(который будет выполняться Redux-стуком)
На самом деле, если это проблематично, или не лучшая практика, я предполагаю, что я мог бы хранить имя в actionCreator в магазине и имеют название -> карта actionCreator где-то за пределами магазин.
Один из творца действий ниже
function datetimeStockExtrasForDateRange(date) {
return function (dispatch, getState) {
const state = getState()
const { calendar } = state
const calendarPeriod = calendar.calendarPeriod
let visibleDates = calendarUtil.visibleDates(date, calendarPeriod)
const filteredDates = visibleDates.filter((date) => {
var dateFormatted = moment(date).format('YYYY-MM-DD')
if (state.dates[dateFormatted] && state.dates[dateFormatted].available_datetime_stock_extras_fetched) {
return false
}
return true
})
if (!_.isEmpty(filteredDates)) {
const { datetime_stock_rule_set_id } = state.calendar
const date_start = filteredDates[0]
const date_end = filteredDates[filteredDates.length - 1]
dispatch(
DatetimeStockExtra.fetchAvailableDatetimeStockExtrasForDateRangeAction(
datetime_stock_rule_set_id,
date_start,
date_end
)
)
}
}
}
у вас есть образец кода? –
Что у вас в ваших синглонах? – Crysfel
@Crysfel Я обновил вопрос – eugene