我不了解browserHistory如何更改应用执行。这是代码工作正常:
var React = require('react'),
ReactDOM = require('react-dom'),
Router = require('react-router'),
Route = Router.Route,
browserHistory = Router.browserHistory,
hashHistory = Router.hashHistory;
var Layout = React.createClass({
render: function () {
return (
<div>
<SideMenu />
{this.props.children}
</div>
)
}
});
var routes = (
<Router.Router history={hashHistory}>
<Route path="/" component={Layout}>
<Route path="auth/startpage" component={require('./startpage')}/>
</Route>
</Router.Router>
);
这段代码可以正常工作,但是我将哈希代码添加到了我的网址。所以我就这样将hashHistory更改为browserHistory:
<Router.Router history={browserHistory}>
...然后
{this.props.children}
是不确定的!没有错误。反应0.14.7,反应路由器2.0.0。请告诉我我想念什么? 最佳答案
嗯,很奇怪,我看不到您的代码有任何内在的错误。它说错误是从哪里来的?是render()中的this.props.children吗?还是其他地方?
您可以尝试重组文件。以下内容适用于您使用的相同版本的react-router:
import { browserHistory } from 'react-router';
ReactDOM.render ((
<Router history={browserHistory} />
// Do Something
</Router>
), document.body);