我有一个Rails 5应用程序,安装了反应 gem 'react-rails', '1.10.0'

我也想使用 react-router 所以我手动让react-router JS加载,因为它们没有宝石可用 . 我可以在控制台a中提交 ReactRouter 以确认 ReactRouter 加载 .

我正在努力让反应路由器工作,但它错了 . 这是我的基本设置:

welcome.html.erb

<div id="root"></div>
<%= react_component 'RouterTest' %>

_router_test.jsx

var Route = ReactRouter.Route;
var Router = ReactRouter;
var browserHistory = ReactRouter.browserHistory;

var RouterTest = React.createClass({
  render() {
    return ( <div> <h1>RouterTest!</h1> </div> )
  }
});

var routes = (
    <Router history={browserHistory}>
        <Route path="/" component={RouterTest}/>
    </Router>
);

ReactDOM.render(routes , document.getElementById('root'));

这是控制台中的错误:

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).
printWarning @ react.self-fd40d62….js?body=1:1275
warning @ react.self-fd40d62….js?body=1:1299
createElement @ react.self-fd40d62….js?body=1:3085
(anonymous) @ _router_test.self-b3b194f….js?body=1:23
react.self-fd40d62….js?body=1:841 Uncaught Error: _registerComponent(...): Target container is not a DOM element.
    at invariant (react.self-fd40d62….js?body=1:841)
    at Object._renderNewRootComponent (react.self-fd40d62….js?body=1:20670)
    at Object._renderSubtreeIntoContainer (react.self-fd40d62….js?body=1:20760)
    at Object.render (react.self-fd40d62….js?body=1:20781)
    at _router_test.self-b3b194f….js?body=1:29

有关我在做什么错误的建议让React Router工作?谢谢