繁体   English   中英

警告:失败的道具类型:道具“历史”在“路由器”中标记为必需,但其值为“未定义”。 反应路由器dom v^5.2.0

[英]Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`. react-router-dom v^5.2.0

遇到这个反应路由器错误并且很困惑,因为我已经设置了多个这样的反应应用程序并且从未遇到过问题。 我运行了 npm 更新,但仍然有问题。 似乎其他人也有这个问题,但这是以前的版本。 在此先感谢您的帮助!

index.js

import ReactDOM from 'react-dom';

import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

应用程序.jsx

import React from 'react';
import { BrowserRouter as Route, Router, Switch } from 'react-router-dom';

import CompanyDetails from './pages/CompanyDetails';
import Home from './pages/Home';
import UpdateCompany from './pages/UpdateCompany';

const App = () => {
  return (
    <Router>
      <Switch>
        <Route exact path='/' component={Home} />
        <Route exact path='/companies/:id/update' component={UpdateCompany} />
        <Route exact path='/companies/:id' component={CompanyDetails} />
      </Switch>
    </Router>
  );
};

export default App;

错误

  • index.js:1 警告:失败的道具类型:道具historyRouter中标记为必需,但其值为undefined

  • Router.js:20 未捕获的类型错误:无法读取未定义的属性“位置”

调试了一下后,我意识到我的导入语句:

import { BrowserRouter as Route, Router, Switch } from 'react-router-dom';

需要是:

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

我不确定为什么导入语句的顺序很重要,但如果有人可以向我解释,我将不胜感激!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM