react-router(v6)
!!! 本稿はreact-router v 6の位置決めである.
Rounting
ルーティングは、異なるパス(url)に基づいて異なる画面を表示します.
しかし、反応器はフレームワーク(Angular.jsなど...)これとは異なり、SPAに対して最小限の機能を提供するUIライブラリです.
従って、反応器自体はルーティングに関連する機能を提供しない.
react-router
上記のため、応答でルーティングを使用するには、サードパーティ製ライブラリをインストールする必要があります.
react-ルータのインストール
パッケージマネージャ(
react-routerを使用すると、Router構成部品は次の機能を実現できます.
Router.js
指定したルーティングに移動するには、2つの方法があります.
リンク構成部品とuseNavigate Hook
リンク構成部品の使用
リンクはBabelでコンパイルされるとaラベルに変換されます.
useNavigate
useNavigateを使用すると、onClickと組み合わせて論理を混合できます.
Rounting
ルーティングは、異なるパス(url)に基づいて異なる画面を表示します.
しかし、反応器はフレームワーク(Angular.jsなど...)これとは異なり、SPAに対して最小限の機能を提供するUIライブラリです.
従って、反応器自体はルーティングに関連する機能を提供しない.
react-router
上記のため、応答でルーティングを使用するには、サードパーティ製ライブラリをインストールする必要があります.
react-router
は最も一般的な反応器のルーティングソリューションになるだろう.react-ルータのインストール
パッケージマネージャ(
npm
またはyarn
など)を使用して、react-routerを簡単にインストールできます.npm install react-router-dom --save
yarn add react-router-dom
Router構成部品の実装react-routerを使用すると、Router構成部品は次の機能を実現できます.
Router.js
import React from 'react';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import Login from './Login';
import Main from './Main';
import ProductList from './List';
const Router = () => {
return (
<BrowserRouter>
<div className="appContents">
<Routes>
<Route path="/" element={<Main />} />
<Route path="/login" element={<Login />} />
<Route path="/list" element={<List />} />
</Routes>
</div>
</BrowserRouter>
);
};
export default Router;
!!! react-router v6에서는 Switch 대신 Routes를 사용하며,
component에서 element로 바뀌어 props를 내려주기 더욱 편해졌다.
LinkとuseNavigate指定したルーティングに移動するには、2つの方法があります.
リンク構成部品とuseNavigate Hook
リンク構成部品の使用
import React from 'react';
import { Link } from 'react-router-dom';
const Main = () => {
return (
<div className="main">
<Link to="/login">회원가입</Link>
</div>
)
}
export default Login;
リンク構成部品は、記録されたパスに移動するためにハイパーリンクを掛けます.リンクはBabelでコンパイルされるとaラベルに変換されます.
useNavigate
import React from "react";
import { useNavigate } from "react-router-dom";
function Login() {
const navigate = useNavigate();
const goToMain = () => {
if (!조건){
window.alert('조건에 맞지 않습니다!')
} else {
navigate("/main");
}
};
return (
<div>
<button className="loginBtn" onClick={goToMain}>
로그인
</button>
</div>
);
}
export default Login;
条件に従って通過する必要がある場合はuseravigate hookを使用します.useNavigateを使用すると、onClickと組み合わせて論理を混合できます.
Reference
この問題について(react-router(v6)), 我々は、より多くの情報をここで見つけました https://velog.io/@kgpaper/React-react-routerv6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol