似乎调度无法按预期工作。
这是我的代码。
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
答案 0 :(得分:0)
减速器中有错字。有actions.types
。
应该是action.type
。
此外,我看到您使用函数而不是对象来执行操作。确保您已应用了redux-thunk中间件,并且Wrapper.js