Задать вопрос
@polnyj0

Где согласно концепции redux-а правильно было бы хранить объект — источник данных для расчета state?

Приложение мое работает следующим образом, при загрузки страницы, я, посредством isomorphic-fetch и redux-thunk загружаю json файл с большим объемом статистических данных (пока он грузится, сообщаю об этом пользователю прелоадером). Функцию загрузки вызываю в методе componetDidMount единственного умного компонента в приложении. После загрузки, отображается начальное состояние - пользователь взаимодействует со страницей, выбирая определенные опции - в зависимости от выбранных опций, объект с полученными статистическими данными подвергается не хилому процессингу (различные map, filter, groupBy, reduce и т.п.), в результате в state передается лишь малая часть от изначального объекта. И вот я подумал, а где правильно было бы хранить этот объект. Держать его в state, наверное, не правильно. Получается я должен редьюсере (reducers/myReducer.js) объявить объект let = myStats = {}; в функции, которая обрабатывает action загрузки файла со статистическим данными присвоить полученный из файла и распарсенный json этом объекту. И во всех остальных обработчиках экшенов (которые вызываются в зависимости от действий пользователя) уже обращаться к этом объекту для расчета текущего стэйта. Я правильно рассуждаю? Если нет, поправьте меня.
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Лично я бы так же делал. Единственное - в стэйт компонента не нужно загружать обработанные данные. Мне кажется более верно в стэйте компонента хранить текущий выбор пользователя, а данные генерить на лету из редуцера. Или, если генерить долго, то можно сделать еще редуцеров которые будут хранить результаты вычислений для ускорения расчетов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы