我需要将extraData
传递到我的单位列表,但是我担心它的性能,因为通过该道具单位列表将在每次状态更新时重新呈现。
所以我需要知道这会使我的单位列表变慢吗?
我也想知道,最好通过这种状态传递所有属性,例如:extraData={this.state}
,或者只传递一种状态,例如:extraData={this.state.number}
?
谢谢你
答案 0 :(得分:0)
extraData道具从技术上确实会影响性能,因为它在更改时会触发FlatList项目的重新渲染。但是,该文档提到:
如果您的renderItem,Header,Footer等函数中的任何一个依赖于数据道具之外的任何东西,请将其粘贴在此处
因此,您不必担心太多,请在需要时实施它,如果性能成为问题,请there are methods and props that you'll be able to use to improve it。
extraData={this.state.number}
绝对比extraData={this.state}
更好,因为您不一定要为父组件的每个渲染都重新渲染FlatList项目。