<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 使用`axios`和`middleware`優化`API`請求 先安裝下[axios](https://github.com/mzabriskie/axios) `npm install --save axios` 既然用到了`redux`,配合中間件優化`API`請求,`actions`創建函數時這樣的(比我們現在寫的`fetch`簡單多了): ~~~ export function getUserInfo() { return ( types: [GET_USER_INFO_REQUEST, GET_USER_INFO_SUCCESS, GET_USER_INFO_FAIL], promise: client => client.get('http://10.10.100.217:10088/api/userInfo.json'), afterSuccess: (dispatch, getState, response) => { /*請求成功后執行的函數*/ }, otherDate: otherData ) } ~~~ [中間件的教程](http://cn.redux.js.org/docs/advanced/Middleware.html) 然后再`dispatch(getUserInfo())`后,通過`redux`中間件來處理請求邏輯: 接下來分析一下中間件所需要的邏輯 1. 請求之前需要執行`dispatch` 的 `REQUEST`請求。 2. 成功后就需要執行`dispatch` 的 `SUCCESS`請求。(如果定義了`afterSuccess()`函數就調用它。) 3. 如果失敗了就需要執行`dispatch` 的 `FAIL`請求。 Show Me The Code: ~~~ cd src/redux mkdir middleware cd middleware touch promiseMiddleware.js ~~~ `src/redux/middleware/promiseMiddleware.js` ~~~ import axios from 'axios' export default store => next => action => { const {dispatch, getState} = store /* 如果dispatch來的是一個function,此處不做處理,直接進入下一級 */ if (typeof action === 'function') { action(dispatch, getState) return } /* 解析action */ const { promise, types, afterSuccess, ...rest } = action /* 沒有promise,證明不是想要發送ajax請求的,就直接進入下一步啦! */ if (!action.promise) { return next(action) } /* 解析types */ const } ~~~
                  <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>

                              哎呀哎呀视频在线观看