报错

VirtualizedLists should never be nested inside plain ScrollViews....

背景:

开发一个swipecell左滑删除的组件,应用了一个第三方库:react-native-swipe-list-view 该库基于reactnative的flatlist实现。

问题呈现:

问题呈现了,吭哧吭哧地接入这个包的时候发现页面报了个谬误 :VirtualizedLists should never be nested inside plain ScrollViews....

报错剖析:

嗯哼?连忙去搜一把这是啥。Virtualized Lists也就是咱们常说的虚构列表,虚构列表只让可视区域范畴内的 Cell 渲染,超出可视区域范畴内的 Cell 销毁来缩小渲染带来的内存开销问题。而FlatList 和 SectionList 都是用的 Virtualized Lists。
当咱们把 Virtualized List 放在 ScrollView 中,ScrollView 是要全副渲染的,那么 Virtualized List 无奈计算出以后哪些 Cell 是展现在可视区域范畴内而会抉择渲染所有的 Cell,so ! Virtualized Lists的劣势就浮现不进去了。这个时候就会抛出上述正告。o(╥﹏╥)o

查找起因:

上述解释艰深地说就是flatlist不能嵌套ScrollView!rn页面是默认不滚动的,若想实现页面滚动须要应用scrollview包裹内容。查看了本人的代码没发现加了scrollview,最初的最初总算找到了taro中有disableScroll配置项,disableScroll默认配置了页面滑动(配置在config.ts页面中)也就是说taro外层是有一个scrollview包裹页面于是就导致上述问题产生。下次如果应用taro开发rn利用的时候就要留神这个问题啦!

总结:

先入为主会找不到解决的方向哦。完了。溜~