Taro 编译到 RN 时 ScrollView 滚动失效怎么办?
我在用 Taro 开发多端应用,H5 和微信小程序都正常,但编译到 React Native 后,页面里的 ScrollView 完全不能滚动,手指滑动没反应,这是啥情况?
我试过加 style 高度、嵌套 View,也查了 Taro 的文档说 RN 端要用 enableScroll,但加了也没用。下面是我写的组件代码:
import { ScrollView, View, Text } from '@tarojs/components'
export default function MyPage() {
return (
<ScrollView scrollY enableScroll style={{ height: '100%' }}>
{[...Array(20)].map((_, i) => (
<View key={i} style={{ padding: 20, backgroundColor: '#f0f0f0' }}>
<Text>Item {i + 1}</Text>
</View>
))}
</ScrollView>
)
}
真机调试(iOS)完全滚不动,控制台也没报错,有谁遇到过类似问题吗?
给你个修复方案:
安全提醒:
1. 一定要校验 style 属性,确保不是 null 或者 undefined,RN 对样式校验很严格
2. 测试时建议先用少量内容验证,避免数据量太大导致其他问题
3. 真机调试要检查 flex 布局是否正确,有时候父容器的高度设置不对也会导致滚动失效
补充说明:RN 端的 ScrollView 和 Web 端的行为差异挺大的,flex:1 是必须的,不然容器不知道如何分配空间。如果还是不行,建议检查下外层容器是不是也有高度限制。