第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

(React/Redux) Redux 操作中的異步問題

(React/Redux) Redux 操作中的異步問題

開心每一天1111 2022-05-26 10:48:18
無法成功使用過去帖子中的解決方案。每次useEffect在 app.js 上加載應(yīng)用程序時(shí),我都嘗試運(yùn)行一個(gè)操作,如下所示:  26 | const App = () => {  27 |     28 |   useEffect(() => {> 29 |     store.dispatch(loadUser());  30 |   }, []);  31 |   32 |   return (我得到的錯(cuò)誤:Error: Actions must be plain objects. Use custom middleware for async actions.那個(gè)行動(dòng) :export const loadUser = () => (dispatch, getState) => {      dispatch({ type: USER_LOADING})      const token = getState().auth.token      const config = {          headers : {              "Content-type": "application/json"          }      }      if (token) {          config.headers["x-auth=token"] = token      }      axios.get("/api/auth/user", config)       .then(res => dispatch({          type: USER_LOADED,          payload: res.data      }))      .catch(err => {          dispatch(returnErrors(err.response.data, err.response.status))          dispatch({              type: AUTH_ERROR          })      })  }我究竟做錯(cuò)了什么?
查看完整描述

3 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

默認(rèn)情況下,redux 中的操作必須返回一個(gè)帶有type鍵的對(duì)象。

您的 redux 操作創(chuàng)建者正在返回一個(gè)函數(shù)。這是最常與redux-thunk中間件一起使用的模式。如果redux-thunk需要,中間件允許您的操作返回一個(gè)函數(shù),該函數(shù)接受多次調(diào)用的調(diào)度方法。

創(chuàng)建 redux 存儲(chǔ)時(shí),您需要安裝該redux-thunk軟件包并將其包含在中間件數(shù)組中。


查看完整回答
反對(duì) 回復(fù) 2022-05-26
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

Redux 本身就是一個(gè)非常簡單的工作流程。調(diào)度的動(dòng)作必須是一個(gè)對(duì)象,通常帶有一個(gè)類型和一個(gè)有效負(fù)載。對(duì)于需要在操作的各個(gè)階段進(jìn)行多次分派的異步操作,此工作流程有些痛苦。這就是Redux Thunk或Redux Sagas等其他工具的用武之地。在我看來,您正在使用 Redux Thunk 但尚未連接 Thunk 中間件。


無論您在哪里創(chuàng)建商店,都需要像這樣應(yīng)用 redux thunk 中間件。


import { createStore, applyMiddleware } from 'redux';

import thunk from 'redux-thunk';

import rootReducer from './reducers';


// Note: this API requires redux@>=3.1.0

const store = createStore(rootReducer, applyMiddleware(thunk));


查看完整回答
反對(duì) 回復(fù) 2022-05-26
?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

當(dāng)您在操作中有異步邏輯時(shí),您必須將某種中間件與 redux 集成,即redux-thunkredux-saga. 我更喜歡 thunk,因?yàn)樗子谑褂谩?/p>



查看完整回答
反對(duì) 回復(fù) 2022-05-26
  • 3 回答
  • 0 關(guān)注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)