Я хочу создать FlatList внутри компонента ScrollView, но постоянно получаю сообщение об ошибке. VirtualizedLists никогда не должны вкладываться в простые ScrollViews с той же ориентацией, потому что это может нарушить работу с окнами и другие функции — вместо этого используйте другой контейнер, поддерживаемый VirtualizedList. Это привело меня к этой статье. Мне удалось изменить свой код, как показано ниже, но я не знаю, как изменить 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>
);