На відміну від ListView, ми можемо оновити this.state.datasource. Чи існує якийсь метод або приклад для оновлення FlatList або його повторного відтворення?
Моя мета - оновити текстове значення, коли користувач натискає кнопку ...
renderEntries({ item, index }) {
return(
<TouchableHighlight onPress={()=> this.setState({value: this.state.data[index].value+1})>
<Text>{this.state.data[index].value}</Text>
</TouchableHighlight>
)
}
<FlatList
ref={(ref) => { this.list = ref; }}
keyExtractor={(item) => item.entry.entryId}
data={this.state.data}
renderItem={this.renderEntries.bind(this)}
horizontal={false} />
PureComponent
означає , що він не буде знову зробити , якщо реквізит залишається мілководним дорівнює. Переконайтеся , що всі вашіrenderItem
функції залежать від того, передаються в якості опори, що не===
після поновлення, в іншому випадку інтерфейс не може оновлювати щодо змін. Це включаєdata
проп і батьківський компонент. " Ви дотримуєтесь цієї поради?