簡體   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