Reactログインコンセプト
7589 ワード
Recat, react-router-dom(v6)
import React, { useState } from "react";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import Auth from "../routes/Auth";
import Home from "../routes/Home";
const AppRouter = () => {
const [isLoggedIn, setIsLoggedIn] = useState(true);
return (
<Router>
<Routes>
{isLoggedIn ? (
<>
<Route path="/" element={<Home />} />
</>
) : (
<Route path="/" element={<Auth />} />
)}
</Routes>
</Router>
);
};
export default AppRouter;
isLoggedInステータス値がtrue/ルートディレクトリのホーム構成部品の場合
ステータス値がfalse/rootのAuth素子の場合
発送useState()引越し
const [isLoggedIn, setIsLoggedIn] = useState(true);
ルータコンポーネントはルーティング機能のみに注目します.USStateをAppコンポーネントに移行し、Propsに転送することを考慮します.
3つの演算子を使用してコンテンツを制御する
{정보? "true 일때 보여줄값" : "false일때 보여줄 값"}
ログインしていますか?既存のIDではありません.
ナビゲーションの分離
Navコンポーネントとして管理
import React, { useState } from "react";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import Auth from "../routes/Auth";
import Home from "../routes/Home";
import Navigation from "./Navigation";
const AppRouter = ({ isLoggedIn }) => {
return (
<Router>
{/* 모두 참이면 마지막 값 반환 */}
{isLoggedIn && <Navigation />}
<Routes>
{isLoggedIn ? (
<>
<Route path="/" element={<Home />} />
</>
) : (
<Route path="/" element={<Auth />} />
)}
</Routes>
</Router>
);
};
export default AppRouter;
import React from "react";
import { Link } from "react-router-dom";
const Navigation = () => {
return (
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/profile">My Profile</Link>
</li>
</ul>
</nav>
);
};
export default Navigation;
Reference
この問題について(Reactログインコンセプト), 我々は、より多くの情報をここで見つけました https://velog.io/@power/React-로그인-컨셉テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol