2016-03-01 267 views
1

app格是空的。其中唯一的东西是noscript标签。阵营路由器渲染空div

var React = require('react'); 
var ReactDOM = require('react-dom'); 
var reactRouter = require('react-router'); 

var Router = reactRouter.Router; 
var DefaultRoute = reactRouter.DefaultRoute; 
var Route = reactRouter.Route; 
var RouteHandler = reactRouter.RouteHandler; 
var Link = reactRouter.Link; 

var LoginHandler = require('./components/LoginHandler.jsx'); 

var AppComponent = React.createClass({ 
    render: function() { 
     return(
      <nav> 
      <Link to="/">Home</Link> 
      <Link to="login">Login</Link> 
      <RouteHandler/> 
      </nav> 
     ) 
    } 
}); 

var routes = ( 
    <Route name="app" path="/" handler={AppComponent}></Route> 
) 

ReactDOM.render(<Router routes={routes}/>, document.getElementById('app'));` 
+0

不知道,如果它很重要,但不要你需要一个“;”之后)会关闭return()语句? –

+0

@CotyEmbry没有,分号在这点也就没有什么区别,因为新线在那个地方也行结束终止 – azium

+0

@bounty您可以发布您的package.json,或者您的反应路由器版本。看起来你使用的是旧版本的API,也许你已经安装了一个更新的版本 – azium

回答

2

尝试在Route标签与部件更换处理程序:

var React = require('react'); 
var ReactDOM = require('react-dom'); 
var reactRouter = require('react-router'); 

var Router = reactRouter.Router; 
var DefaultRoute = reactRouter.DefaultRoute; 
var Route = reactRouter.Route; 
var RouteHandler = reactRouter.RouteHandler; 
var Link = reactRouter.Link; 

var LoginHandler = require('./components/LoginHandler.jsx'); 

var AppComponent = React.createClass({ 
    render: function() { 
     return(
      <nav> 
      <Link to="/">Home</Link> 
      <Link to="login">Login</Link> 
      <RouteHandler/> 
      </nav> 
     ) 
    } 
}); 

var routes = ( 
    <Route name="app" path="/" component={AppComponent}></Route> 
) 

ReactDOM.render(<Router routes={routes}/>, document.getElementById('app'));