remter router dom无法正常工作

Mih*_*hir 5 javascript npm reactjs react-router react-router-dom

我不知道为什么这个程序不能在我的计算机上工作,而其他PC这样做的时候我想运行这个程序它给出了一个错误,如下所示,所以试着修复它...

index.js

import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter, Route} from 'react-router-dom';
import PropTypes from 'prop-types';
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('.container')); 
Run Code Online (Sandbox Code Playgroud)

posts.js

    import React, {Component} from 'react';

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

    export default Posts;
Run Code Online (Sandbox Code Playgroud)

profile.js

    import React, {Component} from 'react';

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

    export default Profile;
Run Code Online (Sandbox Code Playgroud)

但它在microsogt边缘显示出类似的错误......

错误

它在mozilla firefox中显示错误,就像这样...... 在此输入图像描述

错误在bundle.js文件中...所以这里有一个是来自bundle.js文件的完整错误消息,如下所示

bundle.js 在此输入图像描述

Rah*_*aut 0

看起来像是版本控制问题。正如若言在回答中提到的那样,道具类型已从 React 中移出。现在它是单独的依赖项。看起来你的react-router-dom是旧版本。请查看我的 package.json 文件并对照它交叉检查您的版本。您只需复制依赖项部分并粘贴 package.json 文件并运行 npm install 命令即可。

{
   "name": "react-app",
   "version": "0.1.0",
   "private": true,
   "dependencies": {
   "prop-types": "^15.6.1",
   "react": "^16.4.0",
   "react-dom": "^16.4.0",
   "react-router-dom": "^4.3.1",
   "react-scripts": "1.1.4"
  },
  "scripts": {
   "start": "react-scripts start",
   "build": "react-scripts build",
   "test": "react-scripts test --env=jsdom",
   "eject": "react-scripts eject"
  },
   "devDependencies": {
   "style-loader": "^0.21.0"
   }
}
Run Code Online (Sandbox Code Playgroud)