开发者问题收集

ReactJs:TypeError:无法读取未定义的属性“PropTypes”

2018-01-23
5693

我正在使用 react-router v3.2.0,这是我的 app.js,在 chrome 中,错误显示在 router: PropTypes.object 行上,而在 edge 中,它显示错误为 TypeError: 无法获取未定义或空引用的属性“object” class App extends React.Component ,顺便说一句,我是 React 新手

import React, { PropTypes } from 'react';
import { Router } from 'react-router';
import './App.css';

class App extends React.Component {
  static contextTypes = {
    router: PropTypes.object
  }

  static propTypes = {
    history: PropTypes.object.isRequired,
    routes: PropTypes.element.isRequired
  };

  get content() {
    return (
      <Router
        routes={this.props.routes}
        history={this.props.history} />
    )
  }

  render () {
     return (

       <div className="App">
         <div style={{ height: '100%' }}>
          <h2>Welcome to Vavavoom!</h2>
           {this.content}
         </div>
      </div>
     )
   }
}

export default App;
2个回答

首先,放弃从 react 导入 PropTypes 。它已被弃用。

相反,开始使用 import PropTypes from 'prop-types 其余部分应该按照您使用的方式工作。

nitte93
2018-01-23

不知道为什么,但将 react-router": "^3.2.0 版本更改为 react-router": "^3.0.0 以及将 react-dom": "^16.2.0 版本更改为 react-dom": "^15.3.2 解决了我的问题

Sathwik Gangisetty
2018-01-23