Состояние карты для реквизита не обновляется после Redux - PullRequest
0 голосов
/ 24 августа 2018

Мой Redux Store корректно обновляется, что можно увидеть с помощью React Native Debugger.Однако реквизиты внутри моего компонента не обновляются и не определены.

В моем компоненте ниже вы можете видеть, что я правильно сопоставил редуктор "sessionModerator".Я проверил это и могу видеть опору при утешении this.props.

Компонент:

const mapStateToProps = state => {
    return {
        session: state.screenReducers.session,
        list: state.screenReducers.sessionList,
        sessionUser: state.screenReducers.sessionUser,
        user: state.sharedReducers.user,
        sessionListItem: state.screenReducers.sessionListItem,
        sessionSortOrder: state.sharedReducers.sessionSortOrder,
        sessionModerator: state.sharedReducers.sessionModerator
    };
};

Мой редуктор добавлен как виднониже:

Индексный файл редукторов:

import { reducer as sessionModerator } from './session/reducers/session-moderator';

export const reducers = combineReducers({
    sessionModerator: sessionModerator,
});

Файл действий:

import Types from '../../../types';

export const start = () => {
  return {
    type: Types.TYPES_SESSION_MODERATOR_START,
    payload: true
  };
};

export const stop = () => {
  return {
    type: Types.TYPES_SESSION_MODERATOR_STOP,
    payload: false
  };
};

Файл редукторов:

import Types from '../../../types';

export const reducer = (state = false, action) => {
  switch (action.type) {
    case Types.TYPES_SESSION_MODERATOR_START:
      return action.payload;
    case Types.TYPES_SESSION_MODERATOR_STOP:
      return action.payload;
    default:
      return state;
  }
};

На рисунке ниже вы можете видеть, что хранилище обновляется, так как установлено значение для sessionModeratorв «true», но консоль фактического реквизита во время операции не определена.

enter image description here

Что я пробовал:

Я пробовал разные вещи, в основном вращающиеся вокруг структуры моего состояния, например, я пытался добавить логическое значение внутри фактического объекта и обновить значение как свойство объекта, но это неКажется, не работает.Мне кажется, что я не обновляю логическое значение правильно, но не смог разобраться.

Любая помощь будет принята с благодарностью.Спасибо.

1 Ответ

0 голосов
/ 24 августа 2018

sessionModerator находится в screenReducers в отладчике, а не в sharedReducers, как в вашем mapStateToProps.Попробуйте это:

const mapStateToProps = state => {
  return {
    session: state.screenReducers.session,
    list: state.screenReducers.sessionList,
    sessionUser: state.screenReducers.sessionUser,
    user: state.sharedReducers.user,
    sessionListItem: state.screenReducers.sessionListItem,
    sessionSortOrder: state.sharedReducers.sessionSortOrder,
    sessionModerator: state.screenReducers.sessionModerator 
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...