Преимущества комбинирования редукторов - PullRequest
1 голос
/ 05 мая 2020

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

import { createStore, combineReducers } from "redux"; 
import { Dishes } from "./dishes";            //These are the constant variable from different                                                                                      
import { Comments } from "./comments";        //files where the Reducers are located
import { Promotions } from "./promotions";
import { Leaders } from "./leaders";

export const ConfigureStore = () => { //CREATE the store here
    const store = createStore(
       combineReducers({       //we show how exactly various reducers combine
           dishes: Dishes,     //dishes managed by Dishes
           comments: Comments,
           promotions: Promotions,
           leaders: Leaders
                                //recomposition of global state in our application

       })
    );

    return store; //created the store
}

1 Ответ

1 голос
/ 06 мая 2020

combineReducers обеспечивает гибкость при разделении логики состояния c на более мелкие фрагменты или редукторы и фокусирование на определенных c поведениях или данных в этом конкретном c редукторе.

Например, в выше у вас есть редукторы блюд, комментариев, акций и лидеров.

Каждый редуктор является независимым и будет заботиться только об обработке своих собственных данных, а не о сложном состоянии в одном редукторе и коагуляции всех logi c для каждого обновления в одном редукторе

Также разделение logi c на несколько редукторов поможет вам достичь более простого формата состояния , что упростит вам поддержку обновлений

Также это помогает в оптимизации производительности потому что, если бы один и тот же редуктор хранил все данные в себе, чтобы обновить глубоко вложенное состояние, вы бы клонировали остальные данные, и это означало бы, что многие сравнения ссылок не удастся

...