2016-03-01 544 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'));