react类型错误:__WEBPACK_IMPORTED_MODULE_0_react__.PropTypes 未定义

IT技术 reactjs react-router
2021-05-01 14:54:32

我正在使用路由器制作react应用程序,但出现以下错误:

react类型错误WEBPACK_IMPORTED_MODULE_0_react .PropTypes 未定义

我怎样才能避免它?

这里是 2 个路由器的代码,post 和 profile:

帖子

import React,{Component} from 'react';


class Posts extends Component{
    render(){
        return <div>  Posts </div>
    }
}

export default Posts;

轮廓

import React,{Component} from 'react';


class Profile extends Component{
    render(){
        return <div>  Profile </div>
    }
}

export default Profile;

索引.js

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'))

这是错误的屏幕截图:

错误截图

4个回答

我遇到了同样的问题,后来注意到我的导入语句中有一个错字。

代替:

import React from "react"

我有:

import {React} from "react"
import PropTypes from 'prop-types';

自 React v15.5 以来,React.PropTypes 已移入不同的包中。 请改用 prop-types 库。

你使用的是什么版本的 React?

升级到 React 16 时出现此错误,并将 package.json 中的 react 行更改为:

"react-dom": "^15.1.1",
"react": "^15.1.1",

然后运行npm installnpm start为我修复它。

我在packages.json文件中修改了这些包的版本

"react": "^0.14.7",
"react-dom": "^0.14.7",
"react-redux": "^5.1.0",
"redux": "^4.0.1",

然后运行“npm install”和“npm start”它的工作