[英]Error: Actions must be plain objects. Use custom middleware for async actions. React-redux error
[英]Error: Actions must be plain objects. Use custom middleware for async actions. What am I doing wrong?
我正在嘗試將這兩個變量的current
和duration
推送到 redux 商店。 我收到了這個錯誤。 我是新手,所以有人可以告訴我我做錯了什么嗎?
const timeUpdateHandler = (e) => {
const current = e.target.currentTime;
const duration = e.target.duration;
dispatch(timerUpdate(current, duration));
};
這是商店文件中的動作創建者:
export const timerUpdate = (current, duration) => async (dispatch) => {
console.log(current);
dispatch({
type: PLAYER_TIMER_UPDATE,
payload: {
currentTime: current,
duration: duration,
},
});
};
問題是,您的操作創建者不會返回object
而是返回Promise<object>
。 這是因為您的操作創建者之前的async
關鍵字。
async 關鍵字將結果包裝在 promise 中。 您發布的代碼塊沒有任何異步功能,因此您可以安全地刪除它。
另一方面,如果您確實想要異步操作,請嘗試使用 HMR 建議的redux-thunk庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.