Пишем свой Redux

Redux — очень простая штука под авторством Дэна Абрамова и Андрю Кларка. Но очень распространенная: 90% новых проектовн на React используют Redux. Когда Даня Абрамов в 2015 году представлял библиотеку на конференции ReactEurope, никто, включая автора, не предполагал, что она станет такой популярной и люди начнут забивать ей гвозди как микроскопом. И теперь авторы хотят ее убить.

тогография Dan Abramov

План

  1. Пишем редакс. Основная идея — иммутабельный стор, экшены/экшкриэйторы и редьюсеры
    • createStore
    • combineReducers
    • bindActionCreators
  2. Добавляем мидлвары, примеры: логер, обработка экшенов-строк
    • compose
    • applyMiddleware
  3. Пишем санки. Основная идея — асинхронность в мидлварах (https://github.com/reduxjs/redux-thunk)
function createThunkMiddleware(extraArgument) {
  return ({ dispatch, getState }) => next => action => {
    if (typeof action === 'function') {
      return action(dispatch, getState, extraArgument);
    }

    return next(action);
  };
}

const thunk = createThunkMiddleware();

Видео