<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國際加速解決方案。 廣告
                [TOC] # 頁面結構 使用Taro開發,了解各個小程序渲染方式: index-page: ``` <View> 我是頁面 <Parent> <Child></Child> <Child2></Child2> </Parent> </View> ``` parent: ``` <View className='Assistant'> 我是父組件 <slot /> <Child2 /> </View> ``` child: ``` <View className='Assistant'> 我是子組件 <Demo2 /> <Demo /> </View> ``` child2: ``` <View className='Assistant'> 我是子組件2 <Demo2 /> </View> ``` Demo: ``` <View className='visitList'> Demo 組件 </View> ``` Demo2: ``` <View className='visitList'> Demo2 組件 </View> ``` # 渲染結果: ## 微信生命周期方式: `yarn dev:weapp` ``` index.js:52 page componentWillMount index.js:52 Parent componentWillMount index.js:52 Child2 componentWillMount demo.js:52 Demo2 componentWillMount index.js:52 Child componentWillMount demo.js:52 Demo2 componentWillMount demo.js:52 Demo componentWillMount index.js:52 Child2 componentWillMount demo.js:52 Demo2 componentWillMount index.js:57 Parent componentDidShow index.js:57 page componentDidShow index.js:62 page componentDidMount index.js:62 Parent componentDidMount index.js:57 Child componentDidMount 2 index.js:57 Child2 componentDidMount 2 demo.js:57 Demo2 componentDidMount demo.js:57 Demo componentDidMount demo.js:57 Demo2 componentDidMount ``` ### 小結: 微信小程序 遇到就 先進入創建:首先 創建Page頁面 -> 創建頁面父組件 -> (**查找該組件內部是否有組件**---->去創建) -> 創建頁面子組件-> 頁面掛載完成ready -> 父組件掛載完成 ->子組件掛載完成。 父級組件掛載完成時,內部組件(包括內部的內部...)已經完成創建。 ## 百度 swan 詭異的生命周期(百度正在填坑): `yarn dev:swan` ``` index.js:90 page componentWillMount index.js:95 page componentDidShow index.js:100 page componentDidMount index.js:90 Parent componentWillMount index.js:100 Parent componentDidMount index.js:90 Child componentWillMount 2 index.js:90 Child2 componentWillMount index.js:95 Child componentDidMount 2 index.js:95 Child2 componentDidMount demo.js:90 Demo2 componentWillMount demo.js:90 Demo componentWillMount demo.js:95 Demo2 componentDidMount demo.js:95 Demo componentDidMount demo.js:90 Demo2 componentWillMount demo.js:95 Demo2 componentDidMount demo.js:90 Demo2 componentWillMount demo.js:95 Demo2 componentDidMount ``` ### 小結: 百度首先 **按順序渲染**: 首先 Page 頁面(全部渲染完成) -> 頁面中的所有組件 (全部渲染完成) -> 組件中的所含子組件 (全部渲染完成) |--(遞歸查找組件中的子組件,直到渲染完成)--- | 導致的問題:父組件已經渲染完成了,子組件都還沒有創建。。。。。 ## 字節跳動小程序: `yarn dev:tt` ``` index.js:52 page componentWillMount index.js:57 page componentDidShow index.js:52 Parent componentWillMount index.js:52 Child componentWillMount index.js:52 Child2 componentWillMount index.js:62 page componentDidMount index.js:52 Child2 componentWillMount index.js:62 Parent componentDidMount demo.js:52 Demo2 componentWillMount demo.js:52 Demo componentWillMount index.js:57 Child componentDidMount demo.js:52 Demo2 componentWillMount index.js:57 Child2 componentDidMount demo.js:52 Demo2 componentWillMount index.js:57 Child2 componentDidMount demo.js:57 Demo2 componentDidMount demo.js:57 Demo componentDidMount 2 demo.js:57 Demo2 componentDidMount ``` ### 小結 ## 支付寶小程序: `yarn dev:alipay` // ap/SDKVersion: 1.14.2 ``` index.js:52 page componentWillMount index.js:52 Parent componentWillMount index.js:62 page componentDidMount index.js:57 page componentDidShow index.js:52 Child componentWillMount 2 index.js:52 Child2 componentWillMount index.js:62 Parent componentDidMount index.js:57 Parent componentDidShow demo.js:52 Demo2 componentWillMount demo.js:52 Demo componentWillMount 2 demo.js:52 Demo2 componentWillMount index.js:57 Child componentDidMount 2 index.js:57 Child2 componentDidMount demo.js:57 Demo2 componentDidMount demo.js:57 Demo componentDidMount 2 demo.js:57 Demo2 componentDidMount ``` ### 小結 支付寶,頁面先渲染完成 -> 頁面組件創建 -> **直接子組件**創建 - 父組件掛載完成 -> 內部子組件的所含組件被創建 ->內部子組件的父級組件 掛載完成 ----如此循環直到結束--- 父組件掛載完成時,**直接子組件**已被創建。 [啟用 component2 編譯](https://docs.alipay.com/mini/framework/custom-component-overview) : ``` index.js:52 page componentWillMount index.js:52 Parent componentWillMount index.js:52 Child componentWillMount 2 index.js:52 Child2 componentWillMount demo.js:52 Demo2 componentWillMount demo.js:52 Demo componentWillMount 2 demo.js:52 Demo2 componentWillMount index.js:62 page componentDidMount index.js:57 page componentDidShow ``` ### 小結 ---`component2 編譯` 就很詭異了---,可能 Taro 對這一新特性還未支持。 # 總結 1. 組件中不應該使用 `DidShow` (該生命周期 本來也就是為頁面準備的)。 2. 真的不知道以后著生命周期會不會變,但是總結出相同點,避開坑。還是有幫助的。大體的方向應該不會變。 # 解決辦法 ## [1.3.0-bate.5 百度小程序 組件ref 報錯](https://github.com/NervJS/taro/issues/3255) 答復:百度小程序先不要用 ref,百度那邊正在改生命周期觸發順序,他們說還有1、2個月。
                  <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>

                              哎呀哎呀视频在线观看