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

cannot destructure property as it is undefined error

正在创建一个 onClick 事件以打开购物车抽屉并收到错误消息“无法重组 'value' 的 属性 'shoppingCartOpen',因为它未定义”。我该如何解决?

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

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

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

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

但请确保您在调用它时确实将正确的 value 传递给道具!它应该看起来像:

<ButtonAppBar value={someObject} />