Javascript 将状态映射到重演后不更新的道具

Javascript 将状态映射到重演后不更新的道具,javascript,reactjs,react-native,redux,Javascript,Reactjs,React Native,Redux,正在正确更新我的Redux存储,可以使用React本机调试器查看。但是,我的组件中的道具没有更新,并且没有定义 在我下面的组件中,您可以看到我已正确映射到“SessionModeler”缩减器。我已经验证了这一点,并且可以在安慰this.props时看到道具 组件: const mapStateToProps = state => { return { session: state.screenReducers.session, list: stat

正在正确更新我的Redux存储,可以使用React本机调试器查看。但是,我的组件中的道具没有更新,并且没有定义

在我下面的组件中,您可以看到我已正确映射到“SessionModeler”缩减器。我已经验证了这一点,并且可以在安慰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
    };
};
我的减速器添加如下所示:

减速器索引文件:

操作文件:

减速器文件:

在下图中,您可以看到,当sessionModerator的值设置为“true”时,存储被更新,但操作期间实际道具的控制台未定义

我尝试过的:

我已经尝试了很多事情,主要是围绕我的状态结构,例如,我尝试在实际对象中添加布尔值,并将值更新为对象属性,但这似乎不起作用。我觉得我没有正确地更新布尔值,但还没有弄清楚它


任何帮助都将不胜感激。谢谢。

SessionModeler在调试器的ScreenReducer中,而不是在MapStateTrops中的SharedReducer中。 试试这个:

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 
  };
};

哈哈,谢谢你。有时候,只是需要别人指出这样一个愚蠢的错误。
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;
  }
};
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 
  };
};