Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 无法分解属性,因为它是未定义的错误_Reactjs_Shopping Cart_Drawer_State Management_Context Api - Fatal编程技术网

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

Reactjs 无法分解属性,因为它是未定义的错误,reactjs,shopping-cart,drawer,state-management,context-api,Reactjs,Shopping Cart,Drawer,State Management,Context Api,创建onClick事件以打开购物车抽屉,并收到错误“无法重新构造“value”的属性“shoppingCartOpen”,因为它未定义”。我如何解决它 const ButtonAppBar = ({value}) => { const { shoppingCartOpen } = value let shoppingCartDrawer; if (this.state.shoppingCartOpen) { shoppingCartDrawer = <Shoppi

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

const ButtonAppBar = ({value}) => {
  const { shoppingCartOpen } = value
  let shoppingCartDrawer;
  if (this.state.shoppingCartOpen) {
    shoppingCartDrawer = <ShoppingCartDrawer />;
  }
const ButtonAppBar=({value})=>{
常量{shoppingCartOpen}=value
让购物车从抽屉里出来;
如果(此.state.shoppingCartOpen){
购物车抽屉=;
}

错误不在您发布的这个代码段中,而是在您如何调用它。您希望
是一个具有属性
shoppingCartOpen
的对象,因此如果
未定义
则这一行是一个问题:
常量{shoppingCartOpen}=value

您可以将
值默认为空对象,以消除错误

const ButtonAppBar = ({value = {}}) =>
但是,在调用道具时,请确保您实际上正在将正确的
值传递给道具!它应该如下所示:

<ButtonAppBar value={someObject} />

错误不在您发布的这个代码段中,而是在您如何调用它。您希望
是一个具有属性
shoppingCartOpen
的对象,因此如果
未定义
则这一行是一个问题:
常量{shoppingCartOpen}=value

您可以将
值默认为空对象,以消除错误

const ButtonAppBar = ({value = {}}) =>
但是,在调用道具时,请确保您实际上正在将正确的
值传递给道具!它应该如下所示:

<ButtonAppBar value={someObject} />


修改如下函数参数
(值)
并检查您得到的值。如果为null,则无法像在下一行中那样进行破坏。如果为null,则可以自己返回。修改如下函数参数
(值)
并检查您得到的值。如果它为null,您不能像在下一行中那样进行破坏。如果它为null,您可以自己返回。