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

时间:2017-05-28 12:20:57

标签: reactjs react-router-v4

我在一个非常简单的应用程序中使用react router v4。我试图按照文档进行操作,但是当我的应用程序尝试启动时,我发现了一个奇怪的错误。

错误说明:error: React.Children.only expected to receive a single React element child

奇怪的是,我的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;

我无法理解为什么这不起作用,以及为什么我有这个错误。

1 个答案:

答案 0 :(得分:8)

您可以在路线中只有一个子元素。如果您想要多个,请使用# -*- coding: utf-8 -*- import sys, os from PyQt5.QtWidgets import ( QApplication, QMainWindow) from PyQt5.QtCore import QUrl import PyQt5.QtWebEngineWidgets as QtWebEngineWidgets import interface class MyWindow(QMainWindow): def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.ui = interface.Ui_MainWindow() self.ui.setupUi(self) web_view = QtWebEngineWidgets.QWebEngineView() self.web_view = web_view self.ui.verticalLayout_navigateur.addWidget(web_view) url = self.local_url("src/index.html") self.web_view.load(url) f = open('myfile.json', 'r') #send f to self.web_view and handle it by javascript FileReader() function def local_url(self, relativePath): absolutePath = os.path.abspath(relativePath) url = QUrl.fromLocalFile(absolutePath) return url if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_()) 将其换行,如下所示。

div