避免使用箭头函数并在 JSX Props 中绑定以获得最佳性能
React 的 lint 工具旨在通过突出显示潜在问题来增强代码实践。一种常见的错误消息是“JSX props 不应使用箭头函数”。这指出了在 JSX 属性中使用箭头函数或绑定的不利影响。
为什么箭头函数和绑定会阻碍性能
将箭头函数或绑定合并到 JSX 属性中具有性能影响:
内联处理程序对重新渲染的影响
考虑这些示例:
示例 1:没有内联处理程序的 PureComponent
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return <button onClick={onClick}>Click</button>; } }
在此代码中,Button 组件仅在其 props 更改时重新渲染,正如 PureComponent 所预期的那样.
示例 2:带有内联处理程序的 PureComponent
const Button = (props) => { console.log('render button'); return <button onClick={() => props.onClick()}>Click</button>; };
由于内联箭头功能,Button 现在每次都会重新渲染,即使组件状态保持不变。这种不必要的重新渲染会严重影响性能。
最佳实践
为避免这些性能问题,建议遵循以下最佳实践:
以上是为什么箭头函数和 Bind 会导致 JSX Props 中的性能问题?的详细内容。更多信息请关注PHP中文网其他相关文章!