2016-06-24 11 views
0

これはtutorialpointに続き、すべてのコードがmain.jsになるとうまくいきます。私は分離したファイルに自分のコードを入れた場合でも、それは動作しません:リアクタを使用しているときは何も表示されません

app.jsx

import React from 'react'; 
import Link from 'react-router'; 

export default class App extends React.Component { 
    render() { 
     return (
     <div> 
      <ul> 
       <li><Link to="/Home">Home</Link></li> 
       <li><Link to="/About">About</Link></li> 
       <li><Link to="/Contact">Contact</Link></li> 
      </ul> 

      {this.props.children} 
     </div> 
    ) 
    } 
} 

export class Home extends React.Component { 
    render() { 
     return (
     <div> 
      <h1>Home...</h1> 
     </div> 
    ) 
    } 
} 

export class About extends React.Component { 
    render() { 
     return (
     <div> 
      <h1>About...</h1> 
     </div> 
    ) 
    } 
} 

export class Contact extends React.Component { 
    render() { 
     return (
     <div> 
      <h1>Contact...</h1> 
     </div> 
    ) 
    } 
} 

main.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { Router, Route, Link, browserHistory, IndexRoute } from 'react-router'; 
import App, { Home, About, Contact } from './app.jsx'; 

ReactDOM.render((

    <Router history = {browserHistory}> 
     <Route path = "/" component = {App}> 
      <IndexRoute component = {Home} /> 
      <Route path = "home" component = {Home} /> 
      <Route path = "about" component = {About} /> 
      <Route path = "contact" component = {Contact} /> 
     </Route> 
    </Router> 

), document.getElementById('app')); 

たぶんexportない作品?

index.js:9169警告:React.createElement:タイプは、 未定義、ブール値、または数nullにすべきではない私のコンソールでは、私はいくつかの警告があります。文字列(DOM 要素の場合)またはReactClass(複合コンポーネントの場合)である必要があります。レンダリング Appを確認してください。

答えて

1

Linkのインポート方法が正しくありません。

import Link from 'react-router'; 

import { Link } from 'react-router' 
+0

感謝する必要があります!わすれてた。 –

関連する問題