Как reduсers обрабатывает данные в React Redux?
Редуцер должен возвращать объекты/хэши, а не так как у вас массивы.
Весь этот синтаксис { ...state, loading: true} означает: Возьми пустой объект, скопируй туда все содержимое state, а потом переопредели следующие ключи (loading и т.д.)export default function company(state = defaultState, action) {
  switch (action.type) {

    case LOAD_REQUESTED:
      return {
        ...state,
        loading: true
      };

    case LOAD_OK:
      return {
        ...state,
        loading: false,
        counter: action.counter,
        app: action.app,
        errors: null
      };

    default:
      return state;
  }
}
vsuhachev Вы не поможете разобрать этот код?отсюдаcase COMPLETE_TODO:
  return Object.assign({}, state, {
    todos: [
      ...state.todos.slice(0, action.index),
      Object.assign({}, state.todos[action.index], {
        completed: true
      }),
      ...state.todos.slice(action.index + 1)
    ]
  });
Почему там не используется постоянно
{ ...state, ...newState }?
У Object.assign({}, state, ...newState) есть какие-то особенности? Вроде аналогичны.