【发布时间】:2021-06-25 01:35:41
【问题描述】:
我想在 ScrollView 组件内创建一个 FlatList,但我不断收到错误消息“VirtualizedLists 永远不应嵌套在具有相同方向的普通 ScrollViews 中,因为它可能会破坏窗口和其他功能 - 请改用另一个 VirtualizedList-backed 容器。”这让我看到了this 文章。我能够将我的代码更改为以下几点,但我不确定如何更改 this.refs.myList.scrollProperties.offset 以适合我的代码。这是尝试将 FlatList 放入 ScrollView 的最佳方法还是有更好的方法?
const [enableScrollViewScroll, setEnableScrollViewScroll] = useState(true);
return (
<View
onStartShouldSetResponderCapture={() => {
setEnableScrollViewScroll(true);
}}>
<ScrollView
scrollEnabled={enableScrollViewScroll}>
<Component/>
<View
onStartShouldSetResponderCapture={() => {
setEnableScrollViewScroll(false);
if (this.refs.myList.scrollProperties.offset === 0 && enableScrollViewScroll === false) {
setEnableScrollViewScroll(true);
}
}}>
<FlatList
data={myData}
renderItem={({item}) => (
<Text style = {{
borderWidth: 1,
marginTop: 5,
borderRadius: 3,
paddingLeft: 3,
}}>
{item.content}
</Text>
)}/>
</View>
</ScrollView>
</View>
);
【问题讨论】:
标签: react-native react-native-flatlist react-native-scrollview