Reactjs reducer redux thunk未调用reducer
下面的代码分派create_事件,然后调用addFlashMessage操作Reactjs reducer redux thunk未调用reducer,reactjs,redux,react-redux,redux-thunk,Reactjs,Redux,React Redux,Redux Thunk,下面的代码分派create_事件,然后调用addFlashMessage操作 export const createEvent = event => { return dispatch => { dispatch({ type: "CREATE_EVENT", payload: { event } }); addFlashMessage("Event has been created"); }; };
export const createEvent = event => {
return dispatch => {
dispatch({
type: "CREATE_EVENT",
payload: {
event
}
});
addFlashMessage("Event has been created");
};
};
addFlashMessage在操作时被调用但是不调用添加FLASH消息
export const addFlashMessage = message => {
console.log("action is invoked");
return dispatch => {
dispatch({
type: "ADD_FLASH_MESSAGE",
payload: {
message
}
});
};
};
这是从来没有被称为
case "ADD_FLASH_MESSAGE":
console.log("action called");
您需要
dispatch
调用addFlashMessage
操作,如下所示
dispatch({type: "ADD_FLASH_MESSAGE",payload:"Event has been created"});
您的代码应该如下所示
export const createEvent = event => {
return dispatch => {
dispatch({
type: "CREATE_EVENT",
payload: {
event
}
});
dispatch({type: "ADD_FLASH_MESSAGE",payload:"Event has been created"});
};
};
您需要
dispatch
调用addFlashMessage
操作,如下所示
dispatch({type: "ADD_FLASH_MESSAGE",payload:"Event has been created"});
您的代码应该如下所示
export const createEvent = event => {
return dispatch => {
dispatch({
type: "CREATE_EVENT",
payload: {
event
}
});
dispatch({type: "ADD_FLASH_MESSAGE",payload:"Event has been created"});
};
};
不只是从
createEvent
调用另一个函数,您需要dispatch
来触发redux thunk
函数
这是正确的
export const createEvent = event => {
return dispatch => {
dispatch({
type: "CREATE_EVENT",
payload: {
event
}
});
dispatch(addFlashMessage("Event has been created"));
};
};
不只是从
createEvent
调用另一个函数,您需要dispatch
来触发redux thunk
函数
这是正确的
export const createEvent = event => {
return dispatch => {
dispatch({
type: "CREATE_EVENT",
payload: {
event
}
});
dispatch(addFlashMessage("Event has been created"));
};
};
但当addFlashMessage(“事件已创建”)时,该功能才起作用;调用时,它会导致reducer返回分派方法,说明为什么没有发生任何clueconsole.log(“调用操作”);i、 调用e action,但不调用reducer,因为它是JavaScript。。你在做什么,调用一个函数,它就会工作。但redux不会以这种方式工作,除非addFlashMessage(“事件已创建”);调用时,它会导致reducer返回分派方法,说明为什么没有发生任何clueconsole.log(“调用操作”);i、 调用e action,但不调用reducer,因为它是JavaScript。。你在做什么,调用一个函数,它就会工作。但redux不会以这种方式工作