Я пытаюсь загрузить большой объем данных через FlatList, но проблема, с которой я сталкиваюсь, заключается в том, что во время прокрутки появляется пробел. Я видел этот вопрос также в разных местах, но ни один из них не говорит, как решить эту проблему должным образом.
Данные, которые я получаю через мой API
Мой текущий FlatList:
<FlatList
data={this.state.todayFixtures}
renderItem={this.renderTournaments}
extraData={this.state.refresh}
keyExtractor ={(item, index) => item.tournamentId}
/>
и renderTournaments:
renderTournaments(fix) {
return <FootballDetail key={fix.tournamentId} todayFixture={fix} />;
}
Пока есть FootballDetail:
sadasd
class FootballDetail extends Component {
state = {
fixtureToday: []
}
componentWillMount() {
//console.log(this.props.todayFixture.item);
this.setState({fixtureToday: this.props.todayFixture.item[0].matches});
}
constructor(props){
super(props)
}
_onPressButton(fixture) {
Alert.alert(fixture.teamA + " - " + fixture.teamB)
}
renderTodayFixtures() {
const { status, teams, teamResult } = styles;
return this.state.fixtureToday.map((fixture) =>
<CardSection>
<View style={status} >
{CommonFunctions.getStatus(fixture)}
</View>
<TouchableHighlight underlayColor="white" style={teams} onPress={()
=> { this._onPressButton(fixture) }}>
<View>
<Text>{fixture.teamA}</Text>
<Text>{fixture.teamB}</Text>
</View>
</TouchableHighlight>
<View style={teamResult}>
<Text>{fixture.teamAResult}</Text>
<Text>{fixture.teamBResult}</Text>
</View>
<View style={{ justifyContent: 'center' }}>
<Image source={require('../assets/img/notification_tab.png')} style={{width: 22, height: 22}} />
</View>
</CardSection>
)
}
render () {
return (
<Card>
<CardSection>
<View>
<Text style={styles.tournamentTxt}>{this.props.todayFixture.item[0].tournamentName}: {this.props.todayFixture.item[0].tournamentStage}</Text>
</View>
</CardSection>
{this.renderTodayFixtures()}
</Card>
)
}
}