2016-10-24 5 views
3

У меня есть несколько классов, в которых я хотел бы хранить экземпляры в магазине 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 
     ) 
     ) 
    } 
    } 
} 
+0

у вас есть образец кода? –

+0

Что у вас в ваших синглонах? – Crysfel

+0

@Crysfel Я обновил вопрос – eugene

ответ

1

Тот факт, что это синглтон подсказывает мне, что это изменчивое, и что ваши восстановителей изменения непосредственно вместо проектирования новых экземпляров этого в ответ на действия , Это неправильное использование сокращений и приведет к тому, что реакция-редукт не будет распознавать изменения.

Смежные вопросы