<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 基礎 [**什么是高階組件?**]() `接受一個組件并返回一個新組件的函數` 作用 * 渲染劫持 * 代碼重用 * props 的處理 * start 的的抽象和操作 [**什么是受控組件和非受控組件?**]() * 受控組件 `能夠控制狀態的組件就叫受控組件 就是每次改變狀態 都有相關的處理函數` * 非受控組件 `內部儲存狀態的組件當需要時可以用ref查詢DOM上的值` [** React 組件通信方式?**]() ## Hooks [**常用的hooks及作用**]() * [ ] useStart * 作用 `初始化狀態` * [ ] useEffect * 作用 `副作用 接受兩個參數第一個參數是函數 第二個是數組依賴項` * [ ] useLayoutEffect * 作用 `Dom操作的副作用,在DOM更新后執行` * [ ] userMemo * 作用 `返回緩存值可以是任何。對象 函數都可以,只有依賴項改變時才會執行` * 應用場景 ~~~jsx 1. 復雜計算邏輯優化 2. 父子組件重新渲染問題優化 ~~~ * [ ] useCallback * 作用 `返回一個緩存函數,只有依賴項改變時才會執行` * 應用場景 ~~~jsx 1. 父子組件重新渲染問題優化 ~~~ [**useEffect和useLayoutEffect有什么區別**]() * 相同點 1. 第一個參數,接收一個函數作為參數 2. 第二個參數,接收【依賴列表】,只有依賴更新時,才會執行函數 3. 返回一個函數,先執行返回函數,再執行參數函數(所以說執行過程的流程是一樣的) * 不同點 1. 執行時機不同。 `useLayoutEffect在DOM更新之后執行;useEffect在render渲染結束后執行。執行示例代碼會發現useLayoutEffect永遠比useEffect先執行,這是因為DOM更新之后,渲染才結束或者渲染還會結束` [**userMemo和useCallback有什么區別**]() * 相同點 1. 使用方法相同,第一個參數是函數,第一個是依賴項 * 不同點 1. useMemo會直接調用傳過來的函數并且返回一個值,useCallback 則不會 [**說一下 react-fiber**]()
                  <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>

                              哎呀哎呀视频在线观看