反应TypeError:__WEBPACK_IMPORTED_MODULE_0_react __。PropTypes未定义

hkj*_*dj1 5 reactjs react-router

我正在使用路由器制作React应用。它有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'))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: React TypeError: __WEBPACK_IMPORTED_MODULE_0_react__.PropTypes is undefined

这是错误的屏幕截图:https : //imgur.com/6ijKefx

我不知道。我究竟做错了什么?

小智 8

我遇到了同样的问题,后来又发现我的导入语句中有错字。

代替:

import React from "react"
Run Code Online (Sandbox Code Playgroud)

我有:

import {React} from "react"
Run Code Online (Sandbox Code Playgroud)


Mai*_*Mai 5

import PropTypes from 'prop-types';
Run Code Online (Sandbox Code Playgroud)

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

  • 您能否扩展您的答案以包括描述性散文来解释为什么这解决了最初提问者的问题?– (6认同)

NH.*_*NH. 3

你使用什么版本的 React?

升级到 React 16 并将 package.json 中的反应行更改为:

"react-dom": "^15.1.1",
"react": "^15.1.1",
Run Code Online (Sandbox Code Playgroud)

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

  • 降级如何可能成为解决此问题的正确方法? (5认同)