基本上,我只用constructor了React3个原因-
constructor
React
state
class App extends React.Component { constructor(props) { super(props); this.state = { counter: 0 }; } }
但是由于Babel的班级领域支持,我不再使用它
class App extends React.Component { state = { counter: 0 }; }
bind
class App extends React.Component { constructor(props) { super(props); this.increment.bind(this); } increment() { } }
但是由于arrow功能原因,我不再这样做了
arrow
class App extends React.Component { increment = () => { } }
createRef
class App extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); } }
那我可以React.createRef不用constructor在React中使用吗?
React.createRef
您可以像一样将其声明为类字段state。
class App extends React.Component { state = { counter: 0 }; inputRef = React.createRef(); }
Babel会将其转换为第二阶段预设中的以下代码。
constructor(props) { super(props); this.state = { counter: 0 }; this.inputRef = React.createRef(); }