[React] react-router 응용편, Path Variable, Query String

2023. 12. 23. 12:32· 기존(310)/🐳React
목차
  1. 1. Path Variable
  2. 2. Query String
  3. 3. Paging Moving

 

 

 

 

1. Path Variable

 

    <Route path='diary/:id' element={<Diary />}/>

 

이런식으로 디테일 화면으로 갈때사용한다.. 

 

   const {id} = useParams(); // 전달받아서 모아서 객체

 

 

🐳 상세페이지 js

import {useParams} from "react-router-dom";

const Diary = () => {

    const {id} = useParams(); // 전달받아서 모아서 객체
    console.log(id)
    return (
        <div>
            <h1>Diary</h1>
            <p>이곳은 일기 상세 페이지 입니다.</p>
        </div>
    );


}

export default Diary;

 

🐳 App.js

import "./App.css"
import {BrowserRouter, Route, Routes} from "react-router-dom";

import RouterTests from './components/RouterTest'
import Home from "./pages/Home"
import New from "./pages/New";
import Edit from "./pages/Edit";
import Diary from "./pages/Diary";

function App() {
    return (
        <BrowserRouter>
        <div className="App">
            <h2>App.js</h2>
            <Routes>
                <Route path='/' element={<Home />} />
                <Route path='/new' element={<New />} />
                <Route path='/edit' element={<Edit />}/>
                <Route path='diary/:id' element={<Diary />}/> << == 이부분 :id 와 매칭
            </Routes>
            <RouterTests />
        </div>
        </BrowserRouter>
    );
}

export default App;

 

 

 

2. Query String

 

 

 

import {useSearchParams} from "react-router-dom";

const Edit = () => {

    /// TODO : Query String
    const [searchParams,setSearchParams] = useSearchParams();

    const id = searchParams.get("id");
    console.log("id == " + id);

    const mode = searchParams.get("mode");
    console.log("mode == " + mode);

    return (
        <div>
            <h1>Edit</h1>
            <p>이곳은 일기 수정 페이지 입니다.</p>
            <button onClick={()=> setSearchParams({ who : "winer"})}>바꾸기</button>
        </div>
    );
}

export default Edit;

 

 

3. Paging Moving

 /// Paging Moving
    const navigate = useNavigate();
    
    
    <button onClick={() => {
                navigate("/")
            }}>홈</button>

 

import {useNavigate, useSearchParams} from "react-router-dom";

const Edit = () => {

    /// Paging Moving
    const navigate = useNavigate();

    /// TODO : Query String
    const [searchParams,setSearchParams] = useSearchParams();

    const id = searchParams.get("id");
    console.log("id == " + id);

    const mode = searchParams.get("mode");
    console.log("mode == " + mode);

    return (
        <div>
            <h1>Edit</h1>
            <p>이곳은 일기 수정 페이지 입니다.</p>
            <button onClick={()=> setSearchParams({ who : "winer"})}>바꾸기</button>


            <button onClick={() => {
                navigate("/")
            }}>홈</button>

            <button onClick={() => {
                navigate(-1)
            }}>뒤로가기</button>
        </div>
    );
}

export default Edit;

저작자표시 (새창열림)

'기존 > 🐳React' 카테고리의 다른 글

[React] Header component 사용하기  (1) 2023.12.23
[React] Button component 사용하기  (0) 2023.12.23
[React] process.env.PUBLIC_URL 설정  (0) 2023.12.23
[React] react-router 설치 및 세팅  (0) 2023.12.23
[React] springboot & React 프로젝트 생성  (0) 2023.12.23
  1. 1. Path Variable
  2. 2. Query String
  3. 3. Paging Moving
'기존(310)/🐳React' 카테고리의 다른 글
  • [React] Button component 사용하기
  • [React] process.env.PUBLIC_URL 설정
  • [React] react-router 설치 및 세팅
  • [React] springboot & React 프로젝트 생성
조각남자
조각남자
프로그래밍 기술 및 저장소
조각남자
조각남자
조각남자
전체
오늘
어제
  • 전체 보기
    • Java
      • Spring
    • 기존
      • 🏀Jsp
      • 🏀Spring
      • 🏀Pom.xml
      • 🏀SpringBoot
      • 🏀JavaExcption
      • 🏀JavaDB
      • 🏀SpringBootCloneWebSite
      • 🏀SptringDependency
      • 🏀JpaEnvorinoment
      • 🏀Thymeleaf
      • 🏀Node
      • 🏀Pyton
      • 🏀DataBase
      • 🏀JavaScript
      • 🏀Android
      • 🏀JPA
      • 🏀Flutter
      • 🐸Utils
      • 🎫 Batch
      • 🎞️JenKins
      • 🎈Python
      • 🎗️AWS
      • 🦠Vue
      • 🐳React
      • 🖲️kafka
      • Next.js

공지사항

  • 공지사항

인기 글

태그

  • D

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
조각남자
[React] react-router 응용편, Path Variable, Query String
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.