У меня есть такой код:
<View style = {{flex:1}}>
<ScrollView>
<View style = {{flex:0.25,elevation:2,marginVertical:5}}>
<MoviesChild/>
</View>
<View style = {{flex:0.75}}>
<FlatList
data = {ListOfMovies}
renderItem = {this.renderData.bind(this)}
keyExtractor = {(x, i) => x.id}
extraData = {this.state}
/>
</View>
</ScrollView>
</View>
Проблема в том, что данные моего FlatList появляются, но мой дочерний компонент MoviesChild исчезает. Возможно, Flatlist перекрывает дочерний компонент. Может кто-нибудь выяснить, где я делаю ошибку, пожалуйста?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны придать стиль ScrollView с помощью flexGrow: 1
Я имею в виду, что дочерний компонент появляется, но прокрутка не работает ... для всего вида
Попробуй это,
<View style = {{flex:1}}>
<View style = {{ flex:0.25,elevation:2,marginVertical:5 }}>
<MoviesChild/>
</View>
<FlatList
style = {{flex:0.75}}
data = {ListOfMovies}
renderItem = {this.renderData.bind(this)}
keyExtractor = {(x, i) => x.id}
extraData = {this.state}
/>
</View>
Спасибо за ответ. Дочерний компонент появляется, но прокрутка у меня не работает
проверьте мои обновляемые ответы
Я предлагаю вам не использовать FlatList внутри ScrollView, потому что FlatList сам прокручивается. Итак, для достижения вашей цели оберните свой первый View в функцию и передайте его свойству ListHeaderComponent вашего FlatList, например:
<View style = {{flex:1}}>
<View style = {{flex:0.75}}>
<FlatList
data = {ListOfMovies}
renderItem = {this.renderData.bind(this)}
keyExtractor = {(x, i) => x.id}
extraData = {this.state}
ListHeaderContainer = {this.renderHeader}
/>
</View>
</View>
где
private renderHeader = () => {
return(
<View style = {{flex:0.25,elevation:2,marginVertical:5}}>
<MoviesChild/>
</View>
)
}
Надеюсь, это поможет решить вашу проблему! Вы можете найти то, о чем я говорю, на официальном док
Спасибо за ответ. У меня это не работает. Я уже пробовал вот так