我在获取RouteHandler正确导入时遇到问题。这是我的代码:
var React = require('react');
var ReactDOM = require('react-dom');
var ReactRouter = require('react-router');
var ActivityView = require('./ActivityView');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Link = ReactRouter.Link;
var RouteHandler = ReactRouter.RouteHandler;
var hashHistory = ReactRouter.hashHistory;
var IndexRoute = ReactRouter.IndexRoute;
var App = React.createClass({
render: function() {
return (
<div>
<div className="navbar navbar-default">
<ul className="nav navbar-nav navbar-right">
<li><Link to="app">Dashboard</Link></li>
</ul>
</div>
<RouteHandler />
</div>
);
}
});
ReactDOM.render(
<Router history={hashHistory}>
<Route name="app" path="/" component={App}>
<IndexRoute component={ActivityView} />
</Route>
</Router>,
document.getElementById('content')
);
我不断收到错误:
如果我删除
<RouteHandler />
,则此警告消失,导航栏将呈现。我在这里错误地导入了RouteHandler吗? 最佳答案
根据upgrading guide中的部分
RouteHandler 不存在。路由器现在会根据事件路由自动填充组件的this.props.children
。
// v0.13.x
<RouteHandler/>
// v1.0
{this.props.children}
与其他所有从其父级接收子级的React组件一样,您可以使用标准的React.cloneElement模式将其他 Prop 注入(inject)到您提供的子级中。
通常应该避免过度使用此模式,因为这会通过渲染树而不是路由树将路由组件紧密耦合在一起,这会使重构更加困难。
Link to complete Documentation
关于javascript - React-Router RouteHandler未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36532369/