Константы

Если вынести все 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 />, которые мы так же будем объявлять в отдельном файле.

results matching ""

    No results matching ""