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

Как правильно сделать initialState в redux?

Всем доброго времени суток.
В своем проекте я использую Redux, и метод combineReducers.
Абстрактно, мой стор:
{
 oneListOfObjects:[],
 twoListOfObjects:[],
 threeListOfObjects:[],
}

Как правильно сделать "предзагрузку" данных в initialState? То есть чтобы на момент загрузки, мы имели бы такой вид стор:
{
 oneListOfObjects:[объект1,обьект2],
 twoListOfObjects:[объект3,обьект4],
 threeListOfObjects:[объект5,обьект6],
}

Заранее благодарю.
  • Вопрос задан
  • 4961 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
mudrenokanton
@mudrenokanton
frontend dev
Вы когда создаете reducer, можете задать любой initialState. В доке пример:
import { VisibilityFilters } from './actions'

const initialState = {
  visibilityFilter: VisibilityFilters.SHOW_ALL,
  todos: []
}

function todoApp(state, action) {
  if (typeof state === 'undefined') {
    return initialState
  }

  // For now, don't handle any actions
  // and just return the state given to us.
  return state
}

Тут вместо пустого массива в вашем случае будет заполненный.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@KnightForce
Чувак выше прав, но можешь оставить так:
{
 oneListOfObjects:[],
 twoListOfObjects:[],
 threeListOfObjects:[],
}

А потом, например в constructor App (или что там у тебя оборачивает Provider) вызови запрос к серверу. Тут уж как хочешь. Например, если нужно переписать на React, а сервер не переписывать.

initState - это начальный store ля твоего проекта.
Ты можешь использовать один редьюсер и в нем обращаться к определенным полям store, но чтобы было проще - их расщепляют. В итоге каждый reducer работает со своим полем из store.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽