我是React的新手,我正在编写一个简单的类,并试图找出在哪里初始化状态的最佳位置,应该在像这样的构造函数中进行此操作:
Class Quotes extends Component {
constructor(props) {
super(props);
this.state = {
color: 'blue'
};
}
...
或作为这样的州属性:
Class Quotes extends Component {
state = {
color: 'blue'
};
...
哪个是更好的做法?两者的优点和缺点是什么?
答案 0 :(得分:3)
两者都是初始化状态的正确用法。如果您要使用props
来建立状态,则建议使用构造函数,否则可以使用其他模式。
export default class Person extends PureComponent {
constructor(props) {
super(props);
this.state = {
name: props.name || 'User',
}
}
}
初始化不需要道具时
export default class Person extends PureComponent {
state = {
name: 'User',
}
}
答案 1 :(得分:-1)
最好在构造函数中初始化状态,这样每当您的组件初始化时,它将为组件提供默认状态
Class Quotes extends Component {
constructor(props) {
super(props);
this.state = {
color: 'blue'
};
}
}