【问题标题】:React Native Redux don't change state I don't understand whyReact Native Redux 不改变状态我不明白为什么
【发布时间】:2018-05-15 13:52:27
【问题描述】:

我使用 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,我是什么期望的是每次 onpressing 触发时值的变化,但 redux 不只是第一次改变状态,而不是什么都没有改变 guideopen 返回总是相同的值(假)我不明白为什么请解释一下

【问题讨论】:

    标签: javascript react-native redux redux-thunk


    【解决方案1】:

    true ? false : true 将始终评估为 false

    应该是guideopen: !state.guideopen

    另外,如果guideopen是reducer中唯一的状态,可以去掉嵌套,直接用布尔值作为状态:

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

    【讨论】:

    • 谢谢你的工作,谢谢你的建议,我很感激
    猜你喜欢
    • 2020-12-07
    • 2020-05-03
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多