Константы
ОБНОВЛЕНИЕ 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 />
, которые мы так же будем объявлять в отдельном файле.
Last updated
Was this helpful?