我在一个非常简单的应用程序中使用react router v4.我试图按照文档,但我的应用程序尝试启动时有一个奇怪的错误. 错误说:错误:React.Children.only期望收到一个React元素子 奇怪的是我的R
错误说:错误: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>;