[英]Error using SetTimeOut with React/redux dispatch function
所以我有這個狀態來處理錯誤消息,這個狀態有兩個動作
第一個用於設置消息:
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.
為什么我會收到這條消息,我該如何解決?
謝謝。
那是因為您不能將函數作為操作返回。 這些動作是形狀為 ´{type: string, ...any}´ 的簡單對象。 如果你想返回一個函數,你應該谷歌搜索 redux-thunk 或 redux-saga 或 redux-observable 之類的東西,但這些都很棘手。
這個鏈接有一個你想要做什么的例子。 https://github.com/reduxjs/redux-thunk#motivation
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.