响应延迟反应
问题描述:
我使用<FlatList>
渲染列表本地FlatList:响应延迟反应
<FlatList
ListFooterComponent={this.renderFooter}
ItemSeparatorComponent={this.renderSeparator}
refreshing={this.state.refreshing}
onRefresh={this.doPullRefresh}
onEndReached={this.endFooter}
initialNumToRender={10}
onEndReachedThreshold={0.5}
removeClippedSubviews={false}
data={this.state.listdata}
renderItem={({item}) => <ListItem onPress={this.goToStuInfo} alldata={item} id={item.key} number={item.number} avatar={item.avatar} name={item.name} />}
/>
数据的总规模约为300。因此,我可以看到,而其他数据被呈现为显示的一些数据项目清单。
此刻(有些数据还在渲染中),如果我触摸一个项目,会有延迟。我必须等待很长时间才能得到答复。即使按下“后退”按钮,我也必须等待。
有没有解决方案可以首先响应我的触摸动作?
我的解决方案
好吧,我解决了这个问题,通过呈现10个项目一次。
我会在onEndReached
作品推向更多的数据this.state.listdata
我。
答
是道具变化时雅触摸项目? 300个列表元素并不是什么大不了的
“限制渲染窗口还可以减少React和本地平台需要完成的工作量,例如从视图遍历中获得的工作量即使您渲染了最后一百万个元素,通过这些新列表,不需要遍历所有这些元素以进行渲染,甚至可以使用scrollToIndex跳至中间,而无需过多渲染。“
不,该项目将执行'console.log('item is touched');'当按下时。但是我必须等待很长时间才能看到在屏幕上打印的这条信息。 – PYL