React Native Redux 不改变状态我不明白为什么
React Native Redux don't change state I don't understand why
我使用 redux 和 redux-thunk 很长时间了,我现在正在尝试这个简单的工作流程,但没有达到我的预期值
actioncreator =>
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 永远不会改变 return false,我期待的是每次 onpressing 触发时值的变化但是 redux 不只是第一次改变状态而且没有任何改变 guideopen return 总是相同的值(false)我不明白为什么请解释我
true ? false : true
将始终计算为 false
.
应该是guideopen: !state.guideopen
.
另外,如果guideopen
是reducer中唯一的状态,可以去掉嵌套,直接使用boolean作为状态:
(state = false, action) {
...
case OPEN_GUIDE_LIST:
return !state;
我使用 redux 和 redux-thunk 很长时间了,我现在正在尝试这个简单的工作流程,但没有达到我的预期值
actioncreator =>
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 永远不会改变 return false,我期待的是每次 onpressing 触发时值的变化但是 redux 不只是第一次改变状态而且没有任何改变 guideopen return 总是相同的值(false)我不明白为什么请解释我
true ? false : true
将始终计算为 false
.
应该是guideopen: !state.guideopen
.
另外,如果guideopen
是reducer中唯一的状态,可以去掉嵌套,直接使用boolean作为状态:
(state = false, action) {
...
case OPEN_GUIDE_LIST:
return !state;