ซึ่งแตกต่างจาก ListView ที่เราสามารถอัปเดต this.state.datasource มีวิธีการหรือตัวอย่างในการอัปเดต FlatList หรือ re-render หรือไม่?
เป้าหมายของฉันคืออัปเดตค่าข้อความเมื่อผู้ใช้กดปุ่ม ...
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
ซึ่งหมายความว่ามันจะไม่ทำให้อีกครั้งหากยังคงประกอบฉาก shallow- เท่ากับ. ตรวจสอบให้แน่ใจว่าทุกอย่างของคุณrenderItem
ฟังก์ชั่นขึ้นอยู่กับจะถูกส่งเป็นเสาที่ไม่ได้เป็น===
หลังจากการปรับปรุงอย่างอื่น UI ของคุณอาจไม่ปรับปรุง เกี่ยวกับการเปลี่ยนแปลงซึ่งรวมถึงdata
สถานะส่วนประกอบหลักและส่วนประกอบหลัก " คุณทำตามคำแนะนำนี้หรือไม่?