reactjs - extraData 道具会影响平面列表的性能吗?
问题描述
我需要传递extraData
给我的平面列表,但我担心它的性能,因为通过传递这个道具平面列表将在每次状态更新时重新渲染。
所以我需要知道这是否会使我的平面列表变慢?
另外我想知道最好传递这个道具的所有状态,比如:extraData={this.state}
或者最好只传递一个状态,比如:extraData={this.state.number}
?
谢谢之前
解决方案
extraData 属性在技术上确实会影响性能,因为它会在更改时触发 FlatList 项的重新呈现。但是,文档提到:
如果您的任何 renderItem、Header、Footer 等函数依赖于 data 属性之外的任何内容,请将其粘贴在这里
所以你不用太担心,如果你需要它就实现它,如果性能成为问题,你可以使用方法和道具来改进它。
extraData={this.state.number}
肯定比extraData={this.state}
因为您不一定要为父组件的每次渲染都重新渲染 FlatList 项目。
推荐阅读
- javascript - 添加一个组件后 VueJS Module not found 错误
- angular - 将组件分配给变量 Angular 4+
- javascript - 温斯顿记录器:记录了相同信息的重复行
- python - 在python中使用OCR从图像中提取文本
- testing - 是否可以选择告诉 bazel test 不要缓存输出
- node.js - Azure 应用服务 - 带有 CORS 的 RESTful API
- python - sys 模块内置在每个 python 解释器中是什么意思?
- angular - 使用 go 提供 angular dist 文件夹
- android - Firebase 数据库在值更改时重新打开活动
- javascript - 获取所选文本开头和结尾的字符偏移量