Javascript React路由器与React v0.14.3
我正在使用React和Material UI创建一个应用程序,我还包括React路由器。但是当我运行我的应用程序时,我得到了以下错误(未捕获类型错误:(0,_reactDom.reactDom)不是一个函数 我使用的是React v0.14.3和React路由器v1.0.2 我在另一个文件中编写了BodyComponent,并将其导入main.js 我尝试了ReactDOM.render,但出现以下错误 未捕获错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象。 我为同样的目的创作了小提琴: 下面是我的代码:(更新代码)Javascript React路由器与React v0.14.3,javascript,reactjs,react-router,react-jsx,react-routing,Javascript,Reactjs,React Router,React Jsx,React Routing,我正在使用React和Material UI创建一个应用程序,我还包括React路由器。但是当我运行我的应用程序时,我得到了以下错误(未捕获类型错误:(0,_reactDom.reactDom)不是一个函数 我使用的是React v0.14.3和React路由器v1.0.2 我在另一个文件中编写了BodyComponent,并将其导入main.js 我尝试了ReactDOM.render,但出现以下错误 未捕获错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但
ReactDOM.render(…)
您刚刚错过了渲染调用我想您忘了调用
渲染
方法
ReactDOM.render((
<Router history={history}>
<Route path="/" handler={Body} />
</Router>
), document.getElementById('app'))
ReactDOM.render((
),document.getElementById('app'))
我在这里看到两个问题:
ReactDOM.render(…)
调用BodyComponent
,将其作为BodyComponent
导入并使用。希望能帮上忙李>
您有错误的导入:
import Router from 'react-router';
import Route from 'react-router';
一定是
import { Router, Route } from 'react-router';
当我使用时,您忘记了呈现方法
ReactDom.render()
嘿。呈现我得到以下错误:未捕获错误:不变冲突:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到了:object。看起来错误在呈现路径的后面,我会重新检查文件中的React Router,然后拆下所有组件。让他们只渲染一个跨度,如果可行的话,然后添加回您的组件。有更好的方法跟踪渲染图,但这是概念上最简单的方法。嘿,当我这样做时,我会出现以下错误(在我的问题中忘记提到):未捕获错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件)但是得到:object。你试过用组件
替换处理程序
吗?@juandermarco你能告诉我怎么做吗?我是第一次使用react和yeoman。已更改为component,但仍然遇到相同的问题:未捕获错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:object.1。我正在使用.render。2) BodyComponent已正确导出。没有路由器,我可以在浏览器中显示我的身体组件。你可以浏览我共享的JSFIDLE。你能把你的BodyComponent.jsx
中的代码作为你问题的一部分,这样我们就可以看到整个画面了吗?它是如何出口的?很有趣。您使用的是什么react路由器
版本?因为您使用的是处理程序
,而不是组件
,所以它看起来像是比1.0旧的东西。在这种情况下,您将需要类似于从“react Router”导入路由器的import Router;从“反应路由器”导入{Route}代码>(模块在1.0之前的结构不同)我使用的是最新的react路由器,但我使用的方式与他们在github页面中提到的相同。您需要从“react router”导入{router,Route}代码>与v1.0。
ReactDOM.render((
<Router history={history}>
<Route path="/" handler={Body} />
</Router>
), document.getElementById('app'))
import Router from 'react-router';
import Route from 'react-router';
import { Router, Route } from 'react-router';