我正在重构一个基于es6类的React组件,该组件使用普通的构造函数,然后绑定方法,并在该构造函数中定义状态/属性.像这样的东西:
class MySpecialComponent extends React.Component { constructor(props) { super(props) this.state = { thing: true } this.myMethod = this.myMethod.bind(this) this.myAttribute = { amazing: false } } myMethod(e) { this.setState({ thing: e.target.value }) } }
我想重构这个,以便我自动绑定函数,并使用属性初始化器的状态和属性.现在我的代码看起来像这样:
class MySpecialComponent extends React.Component { state = { thing: true } myAttribute = { amazing: false } myMethod = (e) => { this.setState({ thing: e.target.value }) } }
我的问题是,我还需要构造函数吗?或道具也是autobound?我本来希望仍然需要构造函数并包含super(props),但我的代码似乎正在工作,我很困惑.
谢谢
除非需要在初始状态对象中引用props,否则不需要显式定义的构造函数.
原文链接:https://www.f2er.com/react/300818.html