<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                `redux-saga`是一個庫,旨在使 React/Redux 項目中的副作用(數據獲取等異步操作和訪問瀏覽器緩存等可能產生副作用的動作)更容易,更好。 這個包在 NPM 上有發布: ~~~shell $ npm install --save redux-saga ~~~ 152. ### redux-saga 的模型概念是什么? *Saga*就像你的項目中的一個單獨的線程,它獨自負責副作用。`redux-saga`是一個 redux*中間件*,這意味著它可以在項目啟動中使用正常的 Redux 操作,暫停和取消該線程,它可以訪問完整的 Redux 應用程序狀態,并且它也可以調度 Redux 操作。 ## 在 redux-saga 中`call()`和`put()`之間有什么區別? `call()`和`put()`都是 Effect 創建函數。`call()`函數用于創建 Effect 描述,指示中間件調用 promise。`put()`函數創建一個 Effect,指示中間件將一個 Action 分派給 Store。 讓我們舉例說明這些 Effect 如何用于獲取特定用戶數據。 ~~~js function* fetchUserSaga(action) { // `call` function accepts rest arguments, which will be passed to `api.fetchUser` function. // Instructing middleware to call promise, it resolved value will be assigned to `userData` variable const userData = yield call(api.fetchUser, action.userId) // Instructing middleware to dispatch corresponding action. yield put({ type: 'FETCH_USER_SUCCESS', userData }) } ~~~ ## 什么是 Redux Thunk? *Redux Thunk*中間件允許您編寫返回函數而不是 Action 的創建者。 thunk 可用于延遲 Action 的發送,或僅在滿足某個條件時發送。內部函數接收 Store 的方法`dispatch()`和`getState()`作為參數。 ## `redux-saga`和`redux-thunk`之間有什么區別? *Redux Thunk*和*Redux Saga*都負責處理副作用。在大多數場景中,Thunk 使用*Promises*來處理它們,而 Saga 使用*Generators*。Thunk 易于使用,因為許多開發人員都熟悉 Promise,Sagas/Generators 功能更強大,但您需要學習它們。但是這兩個中間件可以共存,所以你可以從 Thunks 開始,并在需要時引入 Sagas。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看