问题描述
我的类组件中具有以下构造函数:
if the_class == 'UST220':
constructor(props) {
super(props);
this.state = {
dirty: this.props.form.dirty // error happens here!
};
}
返回一个破坏道具的错误。这样更深的道具怎么可能?
解决方法
这本身不是错误。但是您可以使用类似的方法来避免警告。
const { dirty } = props.form;
this.state = { dirty };
OR
const { form: { dirty } } = props;
this.state = { dirty };
,
首先,不要在构造函数中使用this.props
,因为您将props
作为参数。
其次,对于销毁,您可以执行以下操作:
const {form: {dirty = 'any initial value in case of undefined'}} = props;
this.setState = {
dirty
}