关于在事件处理程序中使用箭头函数和绑定到“this”的类方法的问题,React 的官方文档中指出:
“使用这种语法(箭头函数)的问题在于每次 LoggingButton(一个组件示例) 渲染时都会创建一个不同的回调。在大多数情况下,这没问题。但是,如果将该回调作为 prop 传递给较低级别的组件,则这些组件可能会进行额外的重新渲染。我们通常建议在构造函数中进行绑定或使用类字段语法,以避免这种性能问题。”
由于新的方法建议使用函数组件而不是类,那么如何解决上述性能问题呢?
“使用这种语法(箭头函数)的问题在于每次 LoggingButton(一个组件示例) 渲染时都会创建一个不同的回调。在大多数情况下,这没问题。但是,如果将该回调作为 prop 传递给较低级别的组件,则这些组件可能会进行额外的重新渲染。我们通常建议在构造函数中进行绑定或使用类字段语法,以避免这种性能问题。”
由于新的方法建议使用函数组件而不是类,那么如何解决上述性能问题呢?