箭头函数格式使用react的生命周期方法的利弊

IT技术 javascript reactjs
2021-04-22 22:10:00

我正在使用公共类字段语法 ( handler = () => {...}) 来定义我所有 React 组件的事件处理程序,以便我可以将它们this用于我的组件,而无需将它们绑定到constructor. 我想知道我可以使用这种语法来使用 React 生命周期方法吗?说这样使用componentWillMountcomponentWillMount = () => {...}

如果用箭头函数定义react的生命周期方法,利弊是什么?

2个回答

每次您的函数执行=>操作时,它都必须创建一个新的函数对象。这可以防止浏览器在渲染同一元素的多个副本时重用相同的功能,这使得 javascript 引擎的优化变得更加困难。这会导致性能问题(但在大多数程序中,它不会引起注意)。

React 中的生命周期方法不建议使用箭头函数

什么时候应该使用箭头函数

当涉及到公共类字段语法时,这里的最后一段更好地解释了它。
2021-06-03 22:10:00

组件生命周期方法中不需要隐式绑定this(即:使用箭头函数)。它们总是从组件的上下文中调用,因此对 props、state、getState 等的访问已经可用。

所以这种模式没有任何优势。我能想到的一些缺点是:

  1. 更冗长的语法仍然只是一个 ECMAScript 提议
  2. 让其他合作者感到困惑。如果您正在绑定this一个组件方法,我会立即期望它会被下游的某个其他实体调用,即:单击从父级传递到子级的事件处理程序。