Константы

Константы одна из первых тем для холиваров. Как их лучше делать, где размещать и так далее. Мы возьмем такой способ: будем определять константу рядом с экшеном.
src/actions/PageActions.js
export const SET_YEAR = 'SET_YEAR' // положили строку в константу
export function setYear(year) {
return {
type: SET_YEAR, // изменили строку на константу
payload: year,
}
}
Подключим константу в редьюсер Page
src/reducers/page.js
import { SET_YEAR } from '../actions/PageActions'
const initialState = {
year: 2018,
photos: [],
}
export function pageReducer(state = initialState, action) {
switch (action.type) {
case SET_YEAR: // изменили строку на константу
return { ...state, year: action.payload }
default:
return state
}
}
В дальнейшем мы будем придерживаться такого подхода и добавлять константы для всех типов наших экшенов. Зачем мы это делаем, сказать сложно. Попробую придумать пример: вы решили, что все ваши типы теперь должны быть составными строками module name/action type, получается для SET_YEAR будет:
const SET_YEAR = 'page/SET_YEAR'
При подходе с константами, вам потребуется изменит код лишь в одном месте (в определении константы).
Итого: превратили строковое значение в константу и познакомились с данным подходом организации типов экшенов.