Getting Invariant违规:使用createBrowserHistory时元素类型无效react-route
Getting Invariant Violation : Element type is invalid while using createBrowserHistory with react-router@1.0.0
我可以使用React创建一个单页应用程序。在这里,当使用React路由器时,我无法找到使用历史的正确方式。我尝试了以下使用方法:
var React = require('react');
var ReactRouter = require('react-router');
var createBrowHistory = require('history/lib/createBrowserHistory');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Content = require('./default-content');
module.exports = (
<Router history={createBrowHistory()}>
<Route path="/" component={Content}>
</Route>
</Router>
)
然而,我得到了以下错误:
Warning: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
注意:我使用的是gullow、browserfy、,React@0.14.3反应roter@1.0.0,history@1.13.1请帮我克服以上错误。谢谢
我不知道你发布的代码的确切内容,但我猜测一下,如果你把代码改成这样:
var MyRouter = React.createClass({
render: function() {
return (<Router history={createBrowHistory()}>
<Route path="/" component={Content}>
</Route>
</Router>);
}
});
module.exports = MyRouter
这会奏效的。
我猜您需要将代码放在另一个位置,并将其放入React.createElement
函数中。问题是,您不是在导出React类,而是在导出ReactElement。这是从您的代码生成的Javascript:
module.exports = (React.createElement(Router, {history: createBrowHistory()},
React.createElement(Route, {path: "/", component: Content}
)));
如果你发布其他文件,我可以更好地解释:default-content.js和main.js
相关文章:
- 查找数组javascript中包含的元素类型
- ReactJS - 元素类型无效错误
- 解析 /page.xhtml 时出错:跟踪错误[行: 42] 与元素类型“id”关联的属性“{1}”应使用左引号
- 未捕获错误:不变冲突:元素类型无效:应为字符串
- 根据Id确定元素类型
- 未捕获的不变冲突:元素类型无效(react、webpack、循环导入)
- AngularJS指令,该指令使用模板中的原始元素类型
- 使用jquery更改元素类型
- Java 脚本:递归地遍历关联的 HTML 文件的 Dom,并打印遇到的元素类型
- 按元素类型从数组中删除元素
- 检查表格单元格中存在的元素类型
- 元素类型“date”在由getElementsByTagName()访问时将其显示为“文本”
- jQuery,如何在HTML中正确查找父元素的元素类型
- 如何获取svg元素类型
- 反应.js - “不变冲突:元素类型无效:预期字符串”简单按钮
- 使用id或类获取元素类型
- 如何根据表单元素类型验证调查
- 未捕获的错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数,但得到:对象
- Getting Invariant违规:使用createBrowserHistory时元素类型无效react-route
- 选中单击的元素类型