【发布时间】:2019-09-19 16:39:55
【问题描述】:
是否可以重新渲染数组的元素,防止其他元素重新渲染?
示例:拥有一个包含 500 个 <Card> 组件的数组并编辑 <Card> 编号 27(更新 myArray 道具),我想仅重新渲染 <Card> 27 号。
render = () => {
this.props.myArray.map(card => {
return <Cards key={card.id} ...card />
})
}
在我的情况下,<Card> 组件有点重,如果它们没有单独更改,我想避免重新渲染它们,但是一旦 myArray 属性更改并触发 render() 方法,每个 @ 987654332@ 正在重新渲染,每次<Card> 更改都会导致一些性能问题。
【问题讨论】:
-
尝试将
Card设为PureComponent或在其中使用shouldComponentUpdate。
标签: arrays reactjs performance immutability