声明 state
时,是否在构造函数之外有任何区别?
这里有一个组件的示例:
class BurgerBuilder extends Component {
state = {
ingredients: {
salad: 0,
bacon: 0,
cheese: 0,
meat: 0
},
totalPrice: 30
};
....
}
在这里,我声明了一个名为“state”的变量,其中包含组件的变量,但我没有调用构造函数。
而当我声明如下时:
class BurgerBuilder extends Component {
constructor() {
super();
this.state = {
ingredients: {
salad: 0,
bacon: 0,
cheese: 0,
meat: 0
},
totalPrice: 30
};
}
....
}
我发现我可以在这两种解决方案中都使用
this.setState
,并且在我的项目中没有真正的区别。是否有最佳实践,在何处使用什么。