210319 TIL/sagaゲイン関数


疲労の蓄積と...会社の業務のためです.
学習理論で締めくくる
  • Ridex社
  • なぜRidex社が利用するのですか?
    reduxの関数は無条件に同期してデータを伝送する.
    Webは常に非同期でユーザー体験を向上させることが重要です.
    reduxを使用する場合は、redux-sagaを同時に使用して非同期柔軟性を得ることができます.
    dispatchを複数回使用する場合は、構成部品ファイルにdispatchロジックを2回書き込む必要があり、不便になる可能性があります.
    道徳的必須知識
    はつでんき
  • 関数 ``貼り付け、yieldという構文を使用します.
  • const gen = function* () {
      console.log(1);
      yield;
      console.log(2);
      yield;
      console.log(3);
      yield;
      console.log(4)
    }
    const gener = gen();
    // gener() - gener{<suspended>}
    gener().next() -> 1
    gener().next() -> 2
    gener().next() -> 3
    gener().next() -> 4
    gener().next() -> undifined

    sagaゲイン関数

  • all受信スキームを登録し、受信した効果を登録する(実行ではなく、登録!)
  • fork実行関数
  • call同期関数を呼び出す(apiの戻りを待つ).  fork非同期関数の呼び出し(待機およびクローズ)
  • 重要!通信時無条件  call  (収量は待機に相当)
  • take  -> イベントの実行と削除は1回のみ
  • takeEvery  -> 起動すると、イベントは更新を続行します
  • takeLatest  -> うっかり2回クリックすると、前のイベントを無視して最後のイベントが実行されます(通常はこのオーバーヘッドが大きいです)
  • 完了したら実行->両方がフライパンの場合は閉じる
  • 注意! front->backはreq->を2回送信するがb->fはresを1回送信する(すなわちサーバ側に2回保存する必要がある)
  • すなわち、リフレッシュは2つの
  • を反映することができる.
  • 閉じないようにスロットルバルブが上にあります
  • throttle:1秒以内にreqを1回書くだけ-これはたくさん書く必要があります-スクロール(最後の関数を呼び出してからしばらくは再呼び出さない)
  • debounce:検索結果-秒内にreqが1回しか呼び出されない(連続呼び出しの関数では最後の関数または最初の関数のみが呼び出される)
  • takeLeading:最初のイベントのみを実行し、
  • を閉じます.
    明日やること
  • 冗長性の有効化
  • Reducer作成