在 React 16.2 中出现意外令牌错误的片段

IT技术 reactjs react-16
2021-04-19 02:56:12

我有以下组件可以呈现一系列组件。但是,我下载了 React 16.2 并尝试使用片段而不是 div,但出现以下错误:

Error in ./src/containers/answers.js
Syntax error: Unexpected token (24:5)

  22 |     
  23 | return (
> 24 |     <>
     |      ^
  25 |       {AnswersCard}
  26 |     </>
  27 |    )

当片段应该能够替换 React 16.2 中的 div 时,为什么我会收到此错误?

  question ? 
    AnswersCard = ( question.answers.sort(function(a,b) { return (a.count < b.count) ? 1 : ((b.count > a.count) ? -1 : 0)} 
    ).map(answer =>  
    <Answer key={answer.id} answer={answer} questionId={question.id} />
    )) : AnswersCard = ( <p>Loading...</p> )

return (
    <>
      {AnswersCard}
    </>
   )
  }
}
1个回答

根据文档<></>并非所有工具都支持该语法,它们鼓励您<React.Fragment>改用

检查这个为碎片语法的支持文档

它仍然是 Next.js + TSX 中的一个问题
2021-05-26 02:56:12
@shubham Khatri 你是救星
2021-06-05 02:56:12
如果您通过 CRA 和 Gatsby 使用较新版本的 react。我不认为<>不被承认仍然是一个问题。建议的标准可能在 2020 年的这个答案之间发生了变化。
2021-06-05 02:56:12
没错,新的XML/JSX语法片段,因此<></>需要使用 babel 版本7运行
2021-06-11 02:56:12