代码之家  ›  专栏  ›  技术社区  ›  Zain763

尝试在React中映射数组时获取意外标记,应为“,”

  •  0
  • Zain763  · 技术社区  · 5 年前

    所以,这就是我在回报中所做的:

    return (
        
        <React.Fragment>
          <Styles>
          <Container>
              <Row className="rows container">
              {results.length > 0 && (  
              {results.map(result => (
                
                <Col className="columns " xs={12} sm={6} md={4} lg={3} >
                  <img src={result.poster_path}  alt="movie poster" />
                  </Col>
                  
              ))}
              )} 
                  
              
            </Row>
            </Container>
            </Styles>
        </React.Fragment>
      )
    

    但是,它给了我一个意外的错误标记,应该是“,”。我不明白,尤其是因为我在另一个组件中使用了相同的语法,并且没有报告任何错误。

    1 回复  |  直到 5 年前
        1
  •  2
  •   Twiggeh    5 年前

    你的回报声明应该是这样的

    return (
        <React.Fragment>
            <Styles>
                <Container>
                    <Row className='rows container'>
                        {results.length > 0 &&
                            results.map(result => (
                                <Col className='columns ' xs={12} sm={6} md={4} lg={3}>
                                    <img src={result.poster_path} alt='movie poster' />
                                </Col>
                            ))}
                    </Row>
                </Container>
            </Styles>
        </React.Fragment>
    )
    

    (我去掉了周围的方括号 results.map )

    方括号用于通知jsx您将在jsx中执行javascript。你已经开始执行了 {results.length ,如果在js执行块中添加另一对括号,则在创建对象时js会看到它,因此会出现预期的逗号错误。