<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國際加速解決方案。 廣告
                # 組織 Reducer 作為核心概念, Redux 真的是一種十分簡單的設計模式:所有你“寫”的邏輯都集中在一個單獨的函數中,并且執行這些邏輯的唯一方式就是傳給 Redux 一個能夠描述當時情景的普通對象(plain object)。Redux store 調用這些邏輯函數,并傳入當前的 state tree 以及這些描述對象,返回新的 state tree,接著 Redux store 便開始通知這些訂閱者(subscriber)state tree 已經改變了。 Redux 設置了一些基本的限制來保證這些邏輯函數的正常工作,就像 [Reducers](../basics/Reducers.md) 里面描述的一樣,它必須有類似 `(previousState, action) => newState` 這樣的結構,它們通常被稱作 **reducer 函數**,并且必須是**純**函數和可預測的。 在這之后,只要遵循這些基本的規則,Redux 就不會關心你在這些 reducer 函數中是如何組織邏輯的。這既能帶來更多的自由,也會導致很多的困惑。不過在寫這些 reducer 的時候,也會有很多的常見的模式以及很多需要注意的相關信息與概念。而隨著應用規模逐漸變大,這些模式在管理這些錯綜復雜的 reducer 時,處理真實世界的數據時,以及優化 UI 性能時都起著至關重要的作用。 ### 寫 Reducer 時必要的概念 這些概念中的一部分,可能已經在別的 Redux 文檔中描述過了。其他的概念也都是些比較普通的或者可以適用于 Redux 外的,這里有許多文章來詳細的解釋這些概念。這些概念和技巧是能寫出符合 Solid 原則的 Redux reducer 邏輯的基礎。 **深入的理解**這些概念是你要學習更高級的 Redux 技術之前必不可少的事情。這里有一個推薦的閱讀列表。 #### [必要的概念](./reducers/PrerequisiteConcepts.md) 另外還值得注意的是,在特定的應用特定的架構下,這些建議可能也不是非常的適合。舉個例子,如果一個應用使用了 Immutable.js Map 來存儲數據,那么它組織 reducer 邏輯的時候就可能和用普通對象存儲數據的情況不一樣。 這些文檔主要假設我們使用的都是 Javascript 普通對象,但即使你使用一些其他的工具,這里的很多規則其實依然適用。 Reducer 概念和技巧 - [基本 Reducer 結構](./reducers/BasicReducerStructure.md) - [拆分 Reducer 邏輯](./reducers/SplittingReducerLogic.md) - [重構 Reducer 的例子](./reducers/RefactoringReducersExample.md) - [使用 `combineReducers`](./reducers/UsingCombineReducers.md) - [超越 `combineReducers`](./reducers/BeyondCombineReducers.md) - [范式化 State 結構](./reducers/NormalizingStateShape.md) - [更新范式化數據](./reducers/UpdatingNormalizedData.md) - [重用 Reducer 邏輯](./reducers/ReusingReducerLogic.md) - [Immutable 的更新模式](./reducers/ImmutableUpdatePatterns.md) - [初始化 State](./reducers/InitializingState.md)
                  <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>

                              哎呀哎呀视频在线观看