Почему мы создаем несколько копий глобальных состояний из одного создателя действий в React и Redux? - PullRequest
0 голосов
/ 05 апреля 2019

Когда создатель действия запускается для создания записи в Firestore следующим образом:

export const createProject = (project) => {
    return (dispatch, getState, { getFirebase, getFirestore }) => {
        // make async call to the database
        const firebase = getFirebase();
        firebase.collection('project').add({
            project
        }).then(() => {
            dispatch({type: 'CREATE_PROJECT', project })
        }).then(err => {
            dispatch({type: 'CREATE_PROJECT_ERROR', err})
        })
    }
}

корневой редуктор сохраняет возврат от действия в соответствующее состояние следующим образом:

const rootReducer = combineReducers({
    auth: authReducer,
    project: projectReducer,
    firestore: firestoreReducer
});

export default rootReducer;

Я пытаюсь понять, почему мы создаем несколько дубликатов в Firestore и двух глобальных состояниях (всего 3: Firestore, project: projectReducer и firestore: firestoreReducer, которые одинаковы ). Я могу понять хранение данных в Firestore, но кажется, что наличие двух состояний избыточно. Разве не достаточно firestore: firestoreReducer, который синхронизирует firestore с глобальным состоянием? Когда мы mapStateToProps, мы используем реквизит из пожарного магазина, а не из штата в любом случае.

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