Redux派发不会更改我的initialState

时间:2019-07-25 22:10:09

标签: javascript react-native redux

似乎调度无法按预期工作。

这是我的代码。

Wrapper.js

...
const Wrapper = ({ action, variable }) => {
  useEffect(() => {
    action();
  }, []);

  return(
    <Text>{variable.toString()}</Text>
  );
};
...

Actions.js

export const action = () => dispatch => {
  dispatch({
    type: MY_TYPE,
    payload: true,
  });
};

Reducer.js

...
const initialState = {
  variable: false,
};

export default function(state = initialState, action) {
  switch(actions.types) {
    case MY_TYPE:
      return {
        ...state,
        variable: action.payload,
      };
    default:
      return state;
  }
}
...

当我在动作函数中执行console.warn('test')时,我会收到黄色消息“ test”,因此我认为我的代码一切正常。但是根据上面的代码,在我的<Text>中,我总是得到false

1 个答案:

答案 0 :(得分:0)

减速器中有错字。有actions.types。 应该是action.type

此外,我看到您使用函数而不是对象来执行操作。确保您已应用了redux-thunk中间件,并且Wrapper.js

中的connect hoc没有问题