我开始学习 React 时,我们可以简单地使用状态和创建对象,而不需要使用 constructor(props){ super(props)
。
现在,我看到许多库仍在使用
class Master extends Component {
constructor(props){
super(props)
我的第一个问题是,使用
constructor(props)super(props)
然后设置状态是否比直接创建状态对象更有优势?第二个问题,我想在我正在制作的本地应用程序中实现react-native-slowlog。
在整个代码中,我直接创建了
状态对象
而没有使用构造函数。
react-native-slowlog的文档显示了使用此方式。class Master extends Component {
constructor(props){
super(props)
slowlog(this, /.*/)
this.state = this.getDataSource(props)
this.shouldComponentUpdate = shouldComponentUpdate.bind(this)
}
...
}
在构造函数中调用 slowlog(this, /.*/)
,我想知道是否可以避免在此处使用构造函数?或者我创建一个构造函数,在其中执行 slowlog(this, /.*/)
,然后在构造函数外部创建状态对象,这样可以吗?
class Master extends Component {
constructor(){
super()
slowlog(this, /.*/)
}
state = {
searchCoin: false
}
super()
和super(props)
不感兴趣,这只是粘贴的代码,但这是一个很好的观点。 - Estus Flask