我正在使用路由器制作反应应用程序。它有2个路由器;发布和个人资料。它们的代码如下:
Posts: import React,{Component} from 'react';
class Posts extends Component{
render(){
return <div> Posts </div>
}
}
export default Posts;
Profile:import React,{Component} from 'react';
class Profile extends Component{
render(){
return <div> Profile </div>
}
}
export default Profile;
and the index.js is:import React,{Component} from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter, Route} from 'react-router-dom';
import PropTypes from 'prop-types';
//COMPONENTS
import Posts from './Components/posts';
import Profile from './Components/profile';
class App extends Component{
render(){
return <div> home </div>
}
}
ReactDOM.render(
<BrowserRouter>
<div>
<Route path="/posts" component={Posts}> </Route>
<Route path="/profile" component={Profile}> </Route>
</div>
</BrowserRouter>
,document.querySelector('#root'))
我收到以下错误:React TypeError: __WEBPACK_IMPORTED_MODULE_0_react__.PropTypes is undefined
以下是错误的屏幕截图:https://imgur.com/6ijKefx
我无法理解。我究竟做错了什么?
答案 0 :(得分:4)
我遇到了同样的问题,后来又发现我的导入语句中有错字。
代替:
import React from "react"
我有:
import {React} from "react"
答案 1 :(得分:1)
您使用的是什么版本的React?
升级到React 16时出现此错误,并将package.json中的反应行更改为:
"react-dom": "^15.1.1",
"react": "^15.1.1",
然后运行npm install
和npm start
为我修复了它。
答案 2 :(得分:1)
import PropTypes from 'prop-types';
自从React v15.5起,React.PropTypes已经转移到另一个包中。 Please use the prop-types library instead.
答案 3 :(得分:0)
我在packages.json文件中修改了这些软件包的版本
"react": "^0.14.7",
"react-dom": "^0.14.7",
"react-redux": "^5.1.0",
"redux": "^4.0.1",
然后运行“ npm install”并“ npm start”运行
答案 4 :(得分:-1)
通过更改
将其修复为“ react-dom”:“ ^ 16.6.3”import React,{Component} from 'react';
class App extends Component{
render(){
return <div> home </div>
}
}
到
import React from 'react';
class App extends React.Component{
render(){
return <div> home </div>
}
}
希望它会有所帮助:)