因此,我具有处理错误消息的状态,并且该状态有两个操作
设置消息的第一个:
export const setNotification = (message) => {
return {
type: "SET_NOTIFICATION",
data: {
message,
visibility: "visible"
}
}
}
第二秒是在5秒钟后删除邮件:
export const clearNotification = (seconds=5) => {
setTimeout(()=> { return {
type: "REMOVE_NOTIFICATION",
data: {
message: "",
visibility: "hidden"
}
}}, seconds * 1000)
}
当调用第二个名为ClearNotification的函数时,出现此错误:
Error: Actions must be plain objects. Use custom middleware for async actions.
为什么会收到此消息以及如何解决?
谢谢。
答案 0 :(得分:1)
那是因为您不能将函数作为操作返回。这些动作是形状为“ {{type:string,... any}””的简单对象。如果您想返回一个函数,则应该在Google上搜索redux-thunk或类似redux-saga或redux-observable之类的东西,但是这些操作很棘手。
此链接提供了您要执行的操作的示例。 https://github.com/reduxjs/redux-thunk#motivation