Redux-thunk

3398 ワード


Redux-thunk


Redux-Thunkは、リードが非同期タスクを処理する際に最もよく使用されるミドルウェアです.
これらのミドルウェアを使用すると、アクションオブジェクトではなく関数を割り当てることができます.
関数を割り当てる場合、パラメータとして割り当てとgetStateを受信する必要があります.
この関数を生成する関数をthunkと呼ぶ.
function createThunkMiddleware(extraArgument) {
  return ({ dispatch, getState }) => (next) => (action) => {
    if (typeof action === 'function') {
      return action(dispatch, getState, extraArgument);
    }

    return next(action);
  };
}
/*
삼항 연산자 사용
const thunk = store => next => action =>
  typeof action === 'function'
    ? action(store.dispatch, store.getState)
    : next(action)
*/

const thunk = createThunkMiddleware();
thunk.withExtraArgument = createThunkMiddleware;

export default thunk;
上の関数から返される関数は、最終的にthunkミドルウェア関数です.
この関数はredux storeからdispath,getState apiを受信しnextを受信し,次のミドルウェアに動作を送信する.
最後の関数は、パラメータとしてスケジューリングするアクションを受け入れます.
  • 李徳思の動作原理は動作、Dispatch、Reducerである.
  • リドゥーゼは純粋な関数であり、副作用を生じさせない.
  • 非同期論理を処理するために、冗長ミドルウェアが使用される.
  • redux-thunkは、関数を動作に送信する際に処理するためである.