Fak*_*ish 20 javascript reactjs react-router
当我第一次使用react-router时,但是页面在下面给出了这个错误
React-router:type.toUpperCase不是一个函数
var React = require('react');
var Router = require('react-router');
var Route = Router.Route;
var App = React.createClass({
render: function() {
return (
<div>App</div>
);
}
});
React.render((
<Router>
<Route path="/" component={App} />
</Router>
), document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
文件似乎没有错,有人可以帮助我吗?
哪里有错误
function autoGenerateWrapperClass(type) {
return ReactClass.createClass({
tagName: type.toUpperCase(),
render: function() {
return new ReactElement(
type,
null,
null,
null,
null,
this.props
);
}
});
}
Run Code Online (Sandbox Code Playgroud)
kum*_*303 33
您发布的错误很神秘,但这意味着您正在尝试从不是真实组件的变量中渲染组件.例如,您可以执行此操作并获得相同类型的错误:
render: function() {
var Thing = {}; // not a component
return <Thing />; // same error
}
Run Code Online (Sandbox Code Playgroud)
在您发布的代码中,<Router>映射到作为模块的变量,而不是组件.您可以使用新的变量声明来修复它:
var React = require('react');
var routerModule = require('react-router');
var Router = routerModule.Router; // component
var Route = routerModule.Route;
var App = React.createClass({
render: function() {
return (
<div>App</div>
);
}
});
React.render((
<Router>
<Route path="/" component={App} />
</Router>
), document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
更改 require 语句:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15202 次 |
| 最近记录: |