React之Dva的model的屬性 effect參數簡介

官網簡介:effects

以 key/value 格式定義 effect。用於處理異步操作和業務邏輯,不直接修改 state。由 action 觸發,可以觸發 action,可以和服務器交互,可以獲取全局 state 的數據等等。

格式爲 (action, effects) => void 或 [(action, effects) => void, { type }]。

type 類型有:takeEvery(監聽action每次變化,默認), takeLatest(監聽最近一次變化), take(監聽一次action留着,後面執行動作) throttle(節流), watcher(監聽第一次變化)

Effects 有三個參數:

put

用於觸發 action 。其中type可以選擇不同namespace下的type。

yield put({ type: 'todos/add', payload: 'Learn Dva' });

call

用於調用異步邏輯,支持 promise 。

const result = yield call(fetch, '/todos');

select

用於從 state 裏獲取數據。

const todos = yield select(state => state.todos);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章