Что такое Redux под одной конкретной функцией, принимающей все состояние приложения? - PullRequest
0 голосов
/ 23 сентября 2018
  • Я только начинаю узнавать, как работает избыточность: что означает избыточность, когда одна конкретная функция принимает все состояние приложения, и действие отправляется и возвращает все новое состояние приложения?это видно в приложении уровня предприятия «Приложение одностраничного приложения ERP», или я что-то неправильно понял?
    также как функция должна быть чистой и изменить предыдущее состояние »использовать ссылку из предыдущего состояния и добавить к ней новые данные, а затем вернуть этокак объект? если это не так, это не повлияет на скорость системы, чтобы копировать каждый раз все состояние системы для системы ERP?

курс, в котором я получаю эту информацию1

курс, по которому я получаю эту информацию 2

1 Ответ

0 голосов
/ 24 сентября 2018

Redux в целом

В редуксе состояние вашего приложения представляется в виде одного объекта, который передается вашему приложению.

Этот единственный объект создается одной функцией, которая называется редуктор .Эта функция принимает текущее состояние и текущее действие в качестве аргументов и возвращает новый объект , который представляет новое состояние, измененное после того, как действие уменьшено .

Это похоже наArray.prototype.reduce где вы получаете текущий массив (текущее состояние) текущей записи массива (текущее действие) и возвращаете новый аккумулятор (новое состояние) в зависимости от того, что является текущим аккумулятором и записью (состояние и действие).

Объединение редукторов

Тем не менее, это не значит, что вам нужно объединить всю логику вашего приложения в одной функции.Redux имеет помощника combineReducers, который позволяет вам создавать редукторы для различных частей вашего состояния, а затем объединять их в single reducer, который создает single объект состояния.

Например, для приложения блога с постами и комментариями вы можете использовать его следующим образом:

import { combineReducers, createStore } from 'redux';
import postsReducer from './postReducer';
import commentsReducer from './commentsReducer';

const rootReducer = combineReducers({
  posts: postsReducer,
  comments: commentsReducer,
});

const store = createStore(rootReducer);

Где postReducer и commentsReducer - два отдельных редуктора, каждый из которых обрабатывает свою часть состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...