我在一个非常简单的应用程序中使用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;
我无法理解为什么这不起作用,以及为什么我有这个错误。
答案 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