Лучший способ сохранить неизменность состояния избыточного хранилища? - PullRequest
0 голосов
/ 29 сентября 2018

/ redurs / index.js

import * as types from '../actions/ActionTypes';

var initialState = {
    categoryName: 'default name redux'
};



function re_modifyCategoryName(state=initialState, action) {
    switch(action.type) {
        case types.MODIFY_CATEGORY_NAME :
            return Object.assign({}, state, {
                categoryName: action.categoryNewName
            });

        default:
            return state;

    }
}

export {re_modifyCategoryName}

Я определенно проверяю state из redux store обновляется с помощью Redux-dev-tool и redux-logger,

enter image description here

enter image description here

, но mapStateToProps не вызывается.


PresentationalComponent.js

... 
const mapStateToProps = (state) => {
    console.log("inside category name", state.categoryName);
    return {categoryName: state.categoryName}
};

export default connect(mapStateToProps)(AnswerEachCategory);
...

Когда страница отображается в первый раз, как вы можете видеть mapStateToProps, "inside category name", state.categoryName отображается в console и presentational component правильно получитьprops.categoryName из initialState из redux store.Однако, почему изменение redux store не вызвало mapStateToProps ??

Связана ли эта проблема с неизменностью state хранилища резервов?


Container.js

...
const mapDispatchToProps = (dispatch) => ({

    onModifyCategoryName: (categoryNewName) => {
        dispatch(actions.modifyCategoryName(categoryNewName))
    }
})

export default connect(null, mapDispatchToProps)(ModifyCategoryNameModal)
...
...