【发布时间】:2021-01-20 08:38:28
【问题描述】:
假设我有一个这样的组件
const AngelsList = ({ angels, ...otherProps }) =>
<div className='AngelsListBlock'>
<div className='AngelsList'>
{ angels.map(angel => <Angel item={angel} />) }
</div>
// some other elements with otherProps
</div>
假设 angels 数组有 200 个项目。这部分有什么意义吗
<div className='AngelsList'>
{ angels.map(angel => <Angel item={angel} />) }
</div>
考虑到每个 Angel 组件内部都有很多 dom 元素,但没有昂贵的计算?
如果我要记忆那个有 200 个天使的块,它会告诉 React 保留 DOM 元素 <div className='AngelsList'> 原样而不检查其所有子元素的属性,否则记忆将只影响 JSX 对象并检查 DOM 属性会发生还是?
希望我解释清楚
【问题讨论】:
-
用户是否一次查看所有
200 angels?所有的 DOM 元素都在视口上方?如果没有,那么您可以使用https://github.com/bvaughn/react-window之类的东西来仅渲染视口上方的组件。 -
@PrateekThapa 问题不在于它
标签: javascript reactjs memoization