当前位置 : 主页 > 网页制作 > React >

reactjs – React Router v4 – 错误:React.Children.only预计会收到一个React元素子元素

来源:互联网 收集:自由互联 发布时间:2021-06-15
我在一个非常简单的应用程序中使用react router v4.我试图按照文档,但我的应用程序尝试启动时有一个奇怪的错误. 错误说:错误:React.Children.only期望收到一个React元素子 奇怪的是我的R
我在一个非常简单的应用程序中使用react router v4.我试图按照文档,但我的应用程序尝试启动时有一个奇怪的错误.

错误说:错误:React.Children.only期望收到一个React元素子

奇怪的是我的ReactDOM.render函数中只有一个组件.

这是我的代码的一些片段:

index.js:

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

app.js(我隐藏了所有明显的组件导入):

import { BrowserRouter as Router, Route } from 'react-router-dom'

class App extends Component {
  render() {
    return (
      <Router>
        <div className="App">
          <Route path='/'>
            <Header/>
            <div className="search-container">
              <SearchBar/>
              <AddMovieButton/>
            </div>
            <SearchResultsList/>
          </Route>
          <Route exact path='/new'>
            <AddMovieForm/>
          </Route>
        </div>
      </Router>
    );
  }
}

export default App;

我真的不明白为什么这不起作用,为什么我有这个错误.

您可以在Route中只有一个子元素.如果你想要多个,请用div包装它们,如下所示.

<Route path="/">
  <div>
    <Header />
    <div className="search-container">
      <SearchBar />
      <AddMovieButton />
    </div>
    <SearchResultsList />
  </div>
</Route>;
网友评论