[解決済み] switch' は 'react-router-dom' からエクスポートされません。
2022-03-02 05:58:44
質問
package.jsonにreact-router-domの依存関係が追加されました。アプリコンポーネントはBrowswerRouterでラップされていますが、switchでルートをラップすると、以下のエラーが表示されます Switch' is not exported from 'react-router-dom'. package.json.lock ,node modulesを削除し、再度npmをインストールし、npm install @babel/core -saveしました。まだ動作していません。私はこのために6時間を無駄にすることに成功しました。なぜインポートされないのでしょうか?
インデックス.js
import {BrowserRouter} from 'react-router-dom';
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
);
App.jsです。
import logo from './logo.svg';
import './App.css';
import React from 'react';
import {Switch,Route,Link} from 'react-router-dom';
import Home from './Home';
class App extends React.Component {
componentDidMount(){
alert('mounting');
}
componentDidUpdate(){
alert('updated');
}
render(){
return (
<div className="App">
<div>
<Link to="/">Home</Link>
</div>
<hr />
<Switch>
<Route exact path="/">
<Home/>
</Route>
</Switch>
</div>
);
}
}
export default App;
import React from 'react';
const Home = () => {
return <h1>Home</h1>;
};
export default Home;
パッケージ.json
"dependencies": {
"@babel/core": "^7.16.0",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router": "^6.0.0",
"react-router-dom": "^6.0.0",
"react-scripts": "4.0.3",
"web-vitals": "^1.0.1"
},
解決方法は?
使用方法
Routes
の代わりに
Switch
react-router v6 では
を使用しています。
react-router-dom
バージョン6では
SwitchをRoutesコンポーネントに置き換えた
import {
BrowserRouter,
Routes, // instead of "Switch"
Route,
} from "react-router-dom";
// ...
<BrowserRouter>
<Routes>
<Route exact path="/" element={<Home />}>
<Home/>
</Route>
</Routes>
</BrowserRouter>
ここで、コンポーネントを
element
を使用する代わりに、children を使用します。
関連
-
[解決済み】React 17で動作するEnzymeアダプターはどれですか?
-
[解決済み】Reactコンポーネント内でswitchステートメントを使用するには?
-
[解決済み] useStateプロパティのフックにmap関数を使用する方法
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] react nativeで関数だらけのヘルパーファイルを作成する方法は?
-
[解決済み] ReactjsのEsLintの "react / jsx-props-no-spreading "エラーを無効化する。
-
[解決済み] ReactJs "インバリアント違反..." リアクトの古典的な問題
-
[解決済み] componentDidUpdate'メソッドはいつ使用するのですか?
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み] Apolloクライアントでログアウトした後、ストアをリセットする
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] configuration.module に未知のプロパティ 'loaders' があります。
-
[解決済み] TypeError: reactjs の未定義のプロパティ 'status' を読み取ることができません。
-
[解決済み] React - _this2.SetStateは関数ではありません。
-
[解決済み] カスタマイズ素材UI チェックした場合としない場合の切り替え
-
[解決済み] React Hooksの「exhaustive-deps」lintルールを理解する
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。
-
[解決済み] Reactのrender()にFont Awesomeのアイコンを入れる方法