Yomna Raouf نشر 25 مارس 2021 أرسل تقرير نشر 25 مارس 2021 لدي ال Flatlist التالية، و أريد أن أقوم بتحديثها "عمل re-render أو update" عندما يضغط المستخدم على الزر. الأكواد: 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} /> 1 اقتباس
0 إسلام عبدالعزيز نشر 25 مارس 2021 أرسل تقرير نشر 25 مارس 2021 يمكنك إستخدام extraData حيث انها تقوم باخبار الـ FlatList ان عليها القيام بـ re-render. على سبيل المثال، يمكن أن تكون قيمة الـ extraData عبارة عن boolean: <FlatList extraData={this.state.update} وعندما نريد عمل update او re-render، سنقوم بعمل toggle لهذه القيمة ليحدث trigger لتحديث القائمة: this.setState({ update: !this.state.update }); السبب وراء عدم حدوث re-render هو ان الـ FlatList هي PureComponent في الاصل، حيث انه لن يحدث اي re-render عند تغيير الـ state والـ props بنفس القيمة. اقتباس
السؤال
Yomna Raouf
لدي ال Flatlist التالية، و أريد أن أقوم بتحديثها "عمل re-render أو update" عندما يضغط المستخدم على الزر.
الأكواد:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.