无法解构属性,因为它是未定义的错误

问题描述

创建一个onClick事件以打开购物车抽屉,并收到错误“无法重新构造属性'shoppingCartOpen'的'值',因为它是未定义的”。我该如何解决

const ButtonAppBar = ({value}) => {
  const { shoppingCartOpen } = value
  let shoppingCartDrawer;
  if (this.state.shoppingCartOpen) {
    shoppingCartDrawer = <ShoppingCartDrawer />;
  }

解决方法

该错误不是您发布的代码片段中的内容,而是您如何调用它的。您期望value是具有属性shoppingCartOpen的对象,因此如果valueundefined,则此行是一个问题:const { shoppingCartOpen } = value。 / p>

您可以将value默认设置为空对象以抑制错误

const ButtonAppBar = ({value = {}}) =>

但是请确保在调用时实际上将正确的value传递给道具!看起来应该像这样:

<ButtonAppBar value={someObject} />

相关问答

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