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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Redux簡介 :-: ![](http://xiaoyulive.oss-cn-beijing.aliyuncs.com/imgs/react/redux.png?x-oss-process=style/thumb) Redux 是 JavaScript 狀態容器,提供可預測化的狀態管理。 2013年問世的Flux飽受爭議,而2015年DanAbramov提出了在Flux基礎上的改進框架Redux,則是一鳴驚人,在所有Flux的變體中算是最受關注的框架,沒有之一。 Redux可以讓你構建一致化的應用,運行于不同的環境(客戶端、服務器、原生應用),并且易于測試。不僅于此,它還提供超爽的開發體驗。 Redux 除了和 React 一起用外,還支持其它界面庫。它體小精悍(只有2kB)且沒有任何依賴。 ## Redux 的 基本原則 Flux 的基本原則是“單向數據流”, Redux 在此基礎上強調三個基本原則: - 唯一數據源( Single Source of Truth); > 整個應用的 state 被儲存在一棵 object tree 中,并且這個 object tree 只存在于唯一一個 store 中。 --- - 保持狀態只讀( State is read- only); > 保持狀態只讀,就是說不能去直接修改狀態,要修改Store的狀態,必須要通過派發一個action對象完成,這一點,和Flux的要求并沒有什么區別。 --- - 數據改變只能通過純函數完成( Changes are made with pure functions)。 > 這里所說的純函數就是Reducer,Redux這個名字的前三個字母Red代表的就是Reducer。按照創作者DanAbramov的說法,Redux名字的含義是Reducer+Flux。 > Reducer不是一個Redux特定的術語,而是一個計算機科學中的通用概念,很多語言和框架都有對Reducer函數的支持。就以JavaScript為例,數組類型就有reduce函數,接受的參數就是一個reducer,reduce做的事情就是把數組所有元素依次做“規約”,對每個元素都調用一次參數reducer,通過reducer函數完成規約所有元素的功能。 --- ## Redux 的設計思想 (1)Web 應用是一個狀態機,視圖與狀態是一一對應的。 (2)所有的狀態,保存在一個對象里面。 ## 來自 Redux 的聲明 需要強調一下:Redux 和 React 之間沒有關系。Redux 支持 React、Angular、Ember、jQuery 甚至純 JavaScript。 盡管如此,Redux 還是和 React 和 Deku 這類框架搭配起來用最好,因為這類框架允許你以 state 函數的形式來描述界面,Redux 通過 action 的形式來發起 state 變化。 # 什么時候需要用到 Redux 1. 用戶的使用方式復雜 2. 不同身份的用戶有不同的使用方式(比如普通用戶和管理員) 3. 多個用戶之間可以協作 4. 與服務器大量交互,或者使用了WebSocket 5. View要從多個來源獲取數據 6. 某個組件的狀態,需要共享 7. 某個狀態需要在任何地方都可以拿到 8. 一個組件需要改變全局狀態 9. 一個組件需要改變另一個組件的狀態 # 什么時候不需要使用 Redux 如果你不知道是否需要 Redux,那就是不需要它。只有遇到 React 實在解決不了的問題,你才需要 Redux 。 以下情況不需要使用到 Redux,否則倒容易增加代碼的復雜性。 1. 用戶的使用方式非常簡單 2. 用戶之間沒有協作 3. 不需要與服務器大量交互,也沒有使用 WebSocket 4. 視圖層(View)只從單一來源獲取數據
                  <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>

                              哎呀哎呀视频在线观看