【问题标题】:Cannot read property 'length' of undefined but keeps giving as error无法读取未定义的属性“长度”,但一直给出错误
【发布时间】:2021-02-15 12:28:07
【问题描述】:

我正在尝试使用 {cartItem.length === 0 ?()} 获取购物车内容 从我下面的代码

 <Col md={8}>
     <h1>Shopping Cart</h1>
      {cartItems.length === 0 ? (
        <Message variant='info'>
          Your cart is empty <Link to='/'>Go Back</Link>
         </Message>
            ) : (
           <ListGroup variant='flush'>
               {cartItems.map(item => (
           <ListGroup.Item key={item.product}>
               <Row>
                  <Col md={2}>
                 <Image src={item.image} alt={item.name} fluid rounded />
                  </Col>
                  <Col md={3}>
                  <Link to={`/product/${item.product}`}>{item.name}</Link>
                 </Col>
                

【问题讨论】:

  • 你是如何定义 cartItems 的?也许您可以向我们展示整个组件。

标签: reactjs react-router


【解决方案1】:

不要检查长度是否为 0,而是尝试检查 cartItems.length > 0 时的条件,这将解决问题,因为即将到来的长度是未定义的,因为您将其等同于零会给您带来错误。

【讨论】:

    【解决方案2】:

    尝试使用 如果它不起作用,请分享您的完整文件。

    {cartItems&&cartItems.length>0?(your success case):(<Message variant='info'>
          Your cart is empty <Link to='/'>Go Back</Link>
         </Message>)}
    

    【讨论】:

      猜你喜欢
      • 2015-05-08
      • 2020-06-02
      • 2015-02-05
      • 2017-11-25
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 2022-01-13
      相关资源
      最近更新 更多