[解決済み] react router v4 default page(ページが見つかりません)
2023-06-23 11:56:08
質問
これは共通の目的で、マッチしないリクエストをnotfoundのページに誘導するものです。
react-router v4で作ると、以前のバージョンと同じように見えるので、このサンプルは以下のように動作すると思います。 サンプルは以下のように動作します。リンクは正常に動作しますが、私はNotFoundコンポーネントが要求された未知のURLのみ呼び出されることを期待; しかし、それは常にそこにある。
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
class Layout extends Component {
render() {
return (
<Router>
<div className="App">
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/user">User</Link></li>
</ul>
<Route exact path="/" component={Home}/>
<Route path="/user" component={User}/>
<Route path="*" component={Notfound}/>
</div>
</Router>
);
}
}
以来
path="*"
はすべてのリクエストを表し、notfoundコンポーネントは常に存在しますが、どのように私は有効なURLパスのためにこのコンポーネントを非表示にすることができますか?
どのように解決するには?
React Routerの
マッチしない
ドキュメント
がカバーしています。をインポートする必要があります。
<Switch>
コンポーネントをインポートし、次に
path
属性を完全に削除することができます。
A
<Switch>
は、最初の子である<Route>
にマッチする最初の子プロセスを描画します。A<Route>
は常に
を使う例です。
<Router>
<div>
<Switch>
<Route path="/" exact component={Home}/>
<Redirect from="/old-match" to="/will-match"/>
<Route path="/will-match" component={WillMatch}/>
<Route component={NoMatch}/>
</Switch>
</div>
</Router>
つまり、あなたの場合、単純に
path="*"
を削除し
<Switch>
:
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/user" component={User}/>
<Route component={Notfound} />
</Switch>
忘れずに
Switch
を追加してください。
import
ステートメントを追加します。
関連
-
[解決済み] React.createElement: type is invalid -- expected a string.
-
[解決済み] バベルエラーです。JSX値は、式または引用されたJSXテキストのいずれかである必要があります。
-
[解決済み] SVGサークル内の画像にボーダーを追加する方法
-
[解決済み] formcontrollabel - material-ui | Reactのデフォルトのtypography classを変更するには?
-
[解決済み] componentDidUpdate'メソッドはいつ使用するのですか?
-
[解決済み] Reactでグローバル変数を宣言する方法とは?
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み】react router v4 / v5でネストされたルート
最新
-
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.createElement: type is invalid -- expected a string.
-
[解決済み] react - createMuiThemeとcreateThemeの違い。
-
[解決済み] SVGサークル内の画像にボーダーを追加する方法
-
[解決済み] Webpack + Babelです。プリセット "es2015 "がディレクトリに相対して見つからなかった
-
[解決済み] ReactJsのCreateClassは関数ではない
-
[解決済み] React - 予想外のトークン、予想外の;
-
[解決済み] ReactJs "インバリアント違反..." リアクトの古典的な問題
-
[解決済み] nextjsで異なる.envファイルを使用するには?
-
[解決済み] React」は定義される前に使用されていた