RN筆記 - 過渡動畫卡頓的解決方案

場景:Navigator過渡動畫、Modal彈窗show/hide動畫,使用InteractionManager.runAfterInteractions這個解決方案

Interactionmanager可以將一些耗時較長的工作安排到所有互動或動畫完成之后再進行。這樣可以保證JavaScript動畫的流暢運行,應(yīng)用這樣可以安排一個任務(wù)在交互和動畫完成之后執(zhí)行。

InteractionManager.runAfterInteractions(() => {
    // 耗時較長的同步的任務(wù)
    this.onReqMakeDeal();
});

Modal彈窗為例,具體應(yīng)用代碼如下:

import Modal from "rn-global-modal";

// <EntrustAlert/> 為自定義的業(yè)務(wù)組件代碼
Modal.show(
      <EntrustAlert
        dataSource={modalData}
        callbackIndex={index => {
          Modal.hide();
          if (index === 1) {
            // 解決過渡動畫卡頓的問題
            InteractionManager.runAfterInteractions(() => {
              HandlerOnceTap(() => this.onReqMakeDeal());
            });
          }
        }}
      />,
      {
        animationType: "fade",
        maskClosable: true,
        onMaskClose: () => {}
      }
    );

參考地址:https://blog.csdn.net/u012982629/article/details/82024476

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容