admin管理员组文章数量:1390334
I am getting following error while using react-router :-
Can anyone tell me where i am wrong?
Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in ponents) or a class/function (for posite ponents) but got: object.
var React = require('react');
var ReactDOM = require('react-dom');
var Router = require('react-router');
var Route = Router.Route;
var App = React.createClass({
render: function(){
return (
<div>
<h1>Wele</h1>
{this.props.children}
</div>
);
}
});
var Login = React.createClass({
render: function(){
return (
<div className="large-3 medium-6 large-centered medium-centered columns">
<h1>Login Page</h1>
</div>
) }
});
ReactDOM.render((
<Router>
<Route path="/" ponent={App}>
<Route path="login" ponent={Login}/>
</Route>
</Router>
), document.getElementById('content'));
I am getting following error while using react-router :-
Can anyone tell me where i am wrong?
Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in ponents) or a class/function (for posite ponents) but got: object.
var React = require('react');
var ReactDOM = require('react-dom');
var Router = require('react-router');
var Route = Router.Route;
var App = React.createClass({
render: function(){
return (
<div>
<h1>Wele</h1>
{this.props.children}
</div>
);
}
});
var Login = React.createClass({
render: function(){
return (
<div className="large-3 medium-6 large-centered medium-centered columns">
<h1>Login Page</h1>
</div>
) }
});
ReactDOM.render((
<Router>
<Route path="/" ponent={App}>
<Route path="login" ponent={Login}/>
</Route>
</Router>
), document.getElementById('content'));
Share
Improve this question
edited Oct 30, 2015 at 7:38
Kunal
asked Oct 30, 2015 at 7:31
KunalKunal
9071 gold badge8 silver badges15 bronze badges
3
-
How does your
Login
ponent look like? – Tahir Ahmed Commented Oct 30, 2015 at 7:33 - Updated login ponent – Kunal Commented Oct 30, 2015 at 7:38
-
It could be that you are missing
module.exports = Login;
andmodule.exports = App;
lines. I could be wrong though. – Tahir Ahmed Commented Oct 30, 2015 at 7:47
3 Answers
Reset to default 3Following lines resolved my error
var ReactDOM = require('react-dom');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
First of all, sorry for my bad english. I had the same problem and after a few hours, was how a fix that:
1 - You should import the correct modules like Saroj said:
var ReactDOM = require('react-dom');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var IndexRoute = ReactRouter.IndexRoute;
2 - After that, you'll probably have problems with url like "localhost:3000/#/?_k=ckuvup". So, do this:
npm install history --save
...then
var createBrowserHistory = require('history/lib/createBrowserHistory');
and change your Router config for this:
ReactDOM.render((
<Router history={createBrowserHistory()}>
<Route path="/" ponent={App}>
<Route path="login" ponent={Login}/>
</Route>
</Router>
), document.getElementById('content'));
...and Read HERE to understand why do it this way
After do all these things, maybe you get some trouble when you are serving this with gulp server for example. I remend taking a look here.
Router
is a named export in the 1.0.0 API:
var {Router, Route} = require('react-router')
本文标签: javascriptReactRouter 100 Uncaught Error Invariant Violation Element type is invalidStack Overflow
版权声明:本文标题:javascript - React-Router 1.0.0 Uncaught Error: Invariant Violation: Element type is invalid - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744751119a2623185.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论