Javascript React:Uncaught不变冲突:ReactDOM.render():无效的组件元素

Javascript React:Uncaught不变冲突:ReactDOM.render():无效的组件元素,javascript,reactjs,Javascript,Reactjs,我不明白为什么下面的代码会在标题中产生错误。我检查了类似的问题,但没有发现它们有帮助 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/

我不明白为什么下面的代码会在标题中产生错误。我检查了类似的问题,但没有发现它们有帮助

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')
));
从“React”导入React;
从“react dom”导入react dom;
从“react Router”导入{Router,Route,IndexRoute,browserHistory};
从“历史”导入{createHashHistory};
从“./页面/菜单”导入菜单;
从“./pages/BookShelf”导入书架;
从“./pages/BorrowBook”导入借阅簿;
const App=React.createClass({
上下文类型:{
路由器:React.PropTypes.object.isRequired
},
render(){
返回(
);
}
});
ReactDOM.render((
window.scrollTo(0,0)}>
,
document.getElementById('app')
));
ReactDOM.render(//此处加括号
window.scrollTo(0,0)}>
,
document.getElementById('app')
)); // 这里加括号
额外的圆括号使您实际上传递的是一个参数而不是两个参数。

ReactDOM.render(//这里是额外的圆括号
window.scrollTo(0,0)}>
,
document.getElementById('app')
)); // 这里加括号

额外的括号使您实际上传递的是一个参数,而不是两个参数。

为什么在ReactDOM.render的两个参数周围都有一对额外的括号?正如@Liongold所说,您的参数位于错误的位置,因此,您传递的是一个参数,而不是2个。为什么在ReactDOM.render的两个参数周围都有一对额外的括号?正如@Liongold所说,您的参数位于错误的位置,因此您传递的是一个参数,而不是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