2016-07-20 4 views
5

私は、ルーティングを設定しようとしていますのプロパティ「小道具」を設定することはできませんし、TypeError次直面してきた:https://postimg.org/image/v0twphnc7/リアクト - ルータ:TypeError例外を:<code>react-router</code>パッケージを使用して<code>Meteor</code>に未定義

リンク画像にします

コードは、私がmain.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { Router, Route, IndexRoute, browserHistory } from 'react-router'; 

// Importing components 
import App from './components/app'; 
import Portfolio from './components/portfolio/portfolio'; 


//Creating a route 
const routes = (
    <Router history={browserHistory}> 
    <Route path='/' component={App}> 
     <Router path='portfolio' component={Portfolio} /> 
    </Route> 
    </Router> 
); 


// Loading routes 
Meteor.startup(() => { 
    ReactDOM.render(routes, document.querySelector('.universe')); 
}); 

での使用に私が識別するために管理している問題は、私がPORTFを定義するとき単純なコンポーネントとしてolioは動作します。エラーの出番

const Portfolio =() => { 
    return (
     <div className='red'>Portfolio page</div> 
    ); 
} 

しかし、私はコンポーネントからそれを拡張している。

class Portfolio extends Component() { 
    render() { 
    return (
     <div>Portfolio page</div> 
    ); 
    } 
} 


あなたは「通常」とクラスコンポーネントと、なぜ次のエラーが表示されます間の可能な違いを説明していただけます。

+0

あなたは、反応から別々にコンポーネントをインポートしない限り、React.Componentでなければなりません。 –

答えて

27

ComponentReact.Componentとして正しくインポートすると仮定すると、Componentの後にかっこを削除してみます。

は次のようになります。

class Portfolio extends Component { 

の代わり:

class Portfolio extends Component() { 

ない場合は、React.ComponentComponentを交換してください。

+1

ありがとうございました!それはかなり簡単でした! :) * facepalm * – volna

関連する問題