避免箭头函数并在 JSX Props 中绑定以获得最佳性能
React 的 lint 工具旨在通过突出显示潜在问题来增强代码实践。一种常见的错误消息是“JSX props 不应使用箭头函数”。这指出了在 JSX 属性中使用箭头函数或绑定的有害影响。
为什么箭头函数和绑定会阻碍性能
将箭头函数或绑定合并到 JSX 属性中具有性能影响:
内联处理程序对重新渲染的影响
考虑这些示例:
示例 1:不带内联的 PureComponent Handler
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return ; } }
在此代码中,Button 组件仅在其 props 更改时重新渲染,正如 PureComponent 所预期的那样。
示例 2:带有内联处理程序的 PureComponent
const Button = (props) => { console.log('render button'); return ; };
由于内联箭头功能,即使组件状态保持不变,Button 现在每次都会重新渲染。这种不必要的重新渲染可能会严重影响性能。
最佳实践
为避免这些性能问题,建议遵循以下最佳实践:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3