React : Uncaught Invariant Violation: ReactDOM.render(): Invalid component element
<p>I don't understand why the following code produces the error in the title. I checked similar questions, but I did not find them helpful.</p>

<pre><code>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 (
        &lt;Menu /&gt;
      );
    }
});

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