redux-course-ru
  • Вступление
  • Подготовка
    • Создание package.json
    • Первые шаги
    • ES2015, React HMR
    • ESLint
    • Установка зависимостей на автомате
    • React dev tools
  • Создание
    • Основы Redux (теория)
    • Точка входа
    • Настройка Store
    • Создание Reducer
    • Присоединение данных (connect)
    • Комбинирование редьюсеров
    • Контейнеры и компоненты
    • Создание actions
    • Константы
    • Наводим порядок
    • Middleware (усилители). Логгер
    • Асинхронные actions
    • Взаимодействуем с VK
  • Заключение
Powered by GitBook
On this page

Was this helpful?

  1. Создание

Константы

PreviousСоздание actionsNextНаводим порядок

Last updated 5 years ago

Was this helpful?

ОБНОВЛЕНИЕ 2018: Вышло (современный код и версии пакетов, данное издание УСТАРЕЛО)

На так же проводятся бесплатные вебинары, публикуются переводы и авторские материалы, !

Константы

Если вынести все page actions в отдельный файл с константами, то в будущем нам удобнее будет писать тесты/работать в команде/поддерживать код. К тому же, таким образом мы не будем отходить от "соглашений" принятых в разработке Flux/Redux приложений.

src/constants/Page.js

export const SET_YEAR = 'SET_YEAR'

Подключим константу в редьюсер Page и в PageActions

src/reducers/page.js

import { SET_YEAR } from '../constants/Page'

const initialState = {
  year: 2016,
  photos: []
}

export default function page(state = initialState, action) {

  switch (action.type) {
    case SET_YEAR:          //не забудьте обновить строку на константу
      return { ...state, year: action.payload }

    default:
      return state;
  }

}

src/actions/PageActions.js

import { SET_YEAR } from '../constants/Page'

export function setYear(year) {

  return {
    type: SET_YEAR, //аналогично, теперь используем константу
    payload: year
  }

}

В дальнейшем мы еще добавим констант, не только для компонента <Page />, но и для компонента <User />, которые мы так же будем объявлять в отдельном файле.

второе издание
канале
присоединяйтесь