当前位置: 首页 > 知识库问答 >
问题:

分析错误:相邻的JSX元素必须包装在封闭标记中

董建德
2023-03-14

当我为我的反应应用程序构建反应路线时,错误出现了

分析错误:相邻的JSX元素必须包装在封闭标记中。

下面是我的代码

class App extends Component {
  render () {
    return (
      //Make App Running within Browser Router//
      <BrowserRouter> 
        <div className="navbar">
          <Navbar />
          <Route exact path='/' component={Home} />
          <Route path='/chat' component={Chat} />
          <Route path='/about' component={About} />
        </div>
      </BrowserRouter>

      <div className="main-container"> **==> This is when problem show**
        <Searchapp />
      </div>
    );
  }
}

export default App;

谢谢

共有2个答案

程飞星
2023-03-14

我们不允许将多个JSX元素分配给一个变量,而不是有效的JavaScript语法。

您试图将一些兄弟元素彼此相邻放置,但必须有一个外部标记,但如果添加一个额外的

所以前面给出的答案叫做React。片段是一个JSX外观的元素,它允许您将多个元素分配给一个变量,但是当呈现到屏幕上时,它不会为DOM产生任何可见的元素。

它看起来像这样:

const ObjectDelete = () => {
  const actions = (
    <React.Fragment>
      <button className="ui button negative">Delete</button>
      <button className="ui button">Cancel</button>
    </React.Fragment>
  );

基本上是长的形式,可以这样缩短:

const ObjectDelete = () => {
  const actions = (
    <>
      <button className="ui button negative">Delete</button>
      <button className="ui button">Cancel</button>
    </>
  );

或者,如果它对您更有帮助,因为您提供了类组件:

class ObjectDelete extends React.Component {
  renderActions() {
    return (
      <React.Fragment>
        <button className="ui button negative">Delete</button>
        <button className="ui button">Cancel</button>
      </React.Fragment>
    );
  }

请注意,此时使用

潘慈
2023-03-14

必须用父节点封装JSX。可以使用div元素,或者如果不想在DOM中添加额外的元素,可以使用React Fragment

class App extends Component {
  render () {
    return (
      <>
      <BrowserRouter> 
        <div className="navbar">
          <Navbar />
          <Route exact path='/' component={Home} />
          <Route path='/chat' component={Chat} />
          <Route path='/about' component={About} />
        </div>
      </BrowserRouter>

      <div className="main-container"> **==> This is when problem show**
        <Searchapp />
      </div>
      </>
    );
  }
}

export default App;
 类似资料: