我长时间使用redux和redux-thunk,我现在正在尝试这种简单的工作流程,但没有达到我的期望值

行动创造者=>

export const openguidelist = () => {
  return dispatch => {
    dispatch({ type: OPEN_GUIDE_LIST });
  };
};


我的减速机=>

    const INITIAL_STATE = {
      guideopen: true
    };
    export default (state = INITIAL_STATE, action) => {
      switch (action.type) {
        case OPEN_GUIDE_LIST:
          return { ...state, guideopen: true ? false : true };
        default:
          return state;
      }
};


并触发了actioncreator我的组件onPress没错,顺便说一句,我正在寻找react-native-debugger,初始工作正在工作,将guideopen true更改为false我的期望,然后guideopen永远不会改变,总是返回false,我期望的是每次触发触发时都会更改值,但是redux不仅会第一次更改状态,而且什么也不会更改guideopen返回值始终相同(错误),我不明白为什么请解释一下我

最佳答案

true ? false : true将始终计算为false

它应该是guideopen: !state.guideopen

另外,如果guideopen是化简器中的唯一状态,则可以删除嵌套并将布尔值直接用作状态:

(state = false, action) {
...
case OPEN_GUIDE_LIST:
  return !state;

关于javascript - React Native Redux不改变状态我不明白为什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50352026/

10-12 07:00