Taro3代码按Taro1/2方式编译

qybjjes1  于 2022-11-19  发布在  其他
关注(0)|答案(4)|浏览(189)

这个特性解决了什么问题?

QQ小程序下,Taro3 长列表复杂节点,卡顿明显。分页下拉几次后,就会闪退,应该是state data体积过大造成(vnode节点信息,比纯data信息大很多,setData传递数据时间较长)。

项目升级Taro3尝试效果不理想,考虑Taro3源码是否能像Taro1/2编译成原生小程序组件,这样升级完的代码就可以直接用。

这个 API 长什么样?

Taro3源码结构是否能像Taro1/2编译成原生小程序组件?源码为Taro3 React方式,但仍提升运行时性能。

uujelgoq

uujelgoq1#

试试 3.0.21 的 CustomWrapper 包裹更新卡顿的子树。

<Page>
   ...
     <CustomWrapper>
        <HeavyList></HeavyList>
     </CustomWrapper>
</Page>
piwo6bdm

piwo6bdm2#

@Chen-jj 试了下,用CustomWrapper包裹后,变成了原生自定义组件,但仍然是通过vnode template模板递归解析的。本身AppData的数据体积并没有变小(taro3 appData体积是taro1的10倍多,小程序下渲染卡顿很明显,尤其是QQ小程序 Android平台,列表加载下一页时就闪退了)

JSON.stringify(appData).length
 // Taro3: 92089, vnode方式
 // Taro1: 8948,data方式

ljsrvy3e

ljsrvy3e3#

你怎么解决这个问题哈,有实现按Taro1/2编译吗

vecaoik1

vecaoik14#

@Chen-jj 试了下,用CustomWrapper包裹后,变成了原生自定义组件,但仍然是通过vnode template模板递归解析的。本身AppData的数据体积并没有变小(taro3 appData体积是taro1的10倍多,小程序下渲染卡顿很明显,尤其是QQ小程序 Android平台,列表加载下一页时就闪退了)

JSON.stringify(appData).length
 // Taro3: 92089, vnode方式
 // Taro1: 8948,data方式

我编译完元素节点都不见了,真是奇怪,是不是百度也不支持哈

相关问题