我创建了一个表单,当用户单击“提交”时,它将触发此操作:
export const sendMessage = (newMessage, history) => dispatch => {
axios
.post("/message", newMessage)
.then(res =>
dispatch({
type: THANK_U,
payload: res.data
}).history.push("/thank-you")
)
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
如果表格中有错误,则显示正确。但是,如果正确填写表单而不是将用户重定向到“谢谢”页面,我将收到一条错误消息:无法读取未定义的属性数据。 如果我删除.history.push(“ / thank-you”)一切正常,那么我猜这是问题所在,但我找不到问题所在。 谢谢您的帮助。
答案 0 :(得分:2)
我认为您的格式/语法有些混乱。您正在尝试将history.push
链接到dispatch
,而需要单独调用它们。
export const sendMessage = (newMessage, history) => dispatch => {
axios
.post("/message", newMessage)
.then(res => {
dispatch({
type: THANK_U,
payload: res.data
})
history.push("/thank-you")
})
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};