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
関数が依存するすべてのものが、===
更新後ではない小道具として渡されることを確認してください。そうしないと、UIが更新されない可能性があります。変更時。これには、data
小道具と親コンポーネントの状態が含まれます。」このアドバイスに従っていますか?