2016-03-28 12 views
0

次のコードがタイトルにエラーを生成する理由がわかりません。私は同様の質問をチェックしましたが、私はそれが役に立つとは思わなかった。あなたが実際には1つの引数を渡す代わりに2になるようReact:Uncaught Invariant Violation:ReactDOM.render():無効なコンポーネント要素

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

import Menu from './pages/Menu'; 
import BookShelf from './pages/BookShelf'; 
import BorrowBook from './pages/BorrowBook'; 

const App = React.createClass({ 
    contextTypes: { 
    router: React.PropTypes.object.isRequired 
    }, 
    render() { 
    return (
     <Menu /> 
    ); 
    } 
}); 

ReactDOM.render((
    <Router history={browserHistory} onUpdate={() => window.scrollTo(0, 0)}> 
    <Route path="/" component={App}/> 
    <Route path="/menu" component={Menu} /> 
    <Route path="/bookshelf" component={BookShelf} /> 
    <Route path="/borrowbook/:bookId" component={BorrowBook} /> 
    </Router>, 
    document.getElementById('app') 
)); 
+2

ReactDOM.renderの両方の引数の周りに余分な括弧があるのはなぜですか? –

+0

@Liongoldが言ったように、あなたの括弧は間違った場所にあるので、あなたは2の代わりに1つの引数を渡しています。 – azium

+0

oh shit、thanks – hellogoodnight

答えて

2
ReactDOM.render((// extra parenthesis here 
    <Router history={browserHistory} onUpdate={() => window.scrollTo(0, 0)}> 
    <Route path="/" component={App}/> 
    <Route path="/menu" component={Menu} /> 
    <Route path="/bookshelf" component={BookShelf} /> 
    <Route path="/borrowbook/:bookId" component={BorrowBook} /> 
    </Router>, 
    document.getElementById('app') 
)); // extra parenthesis here 

余分な括弧は、それを作っています。

関連する問題