React如何在构造函数中破坏深层道具?

问题描述

我的类组件中具有以下构造函数

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
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...