7-1 부업
이 시간 다수 도서 페이지 가지다 회로망 서비스 만들다 예상된다
회로망 섬기는 사람 여러 개의 개 도서 페이지 어떻게 관리하다 도서 페이지 문의 어떻게 처리 여부 기초적인 알기 위해 필요
관리
어느 회로망 이내에 의사소통 데이터 보내다 노선 선택하다 한 줄의 소송 절차
라우터
파일의 노선 실시간 이름을 짓다 역할 하다 무엇
루트 + ING
노선 단단히 법 자신과 그만큼 소송 절차 모두 포함 ~와 연관되다 단어
부업
회로망 섬기는 사람 길에서 문의 나는 회로망 문서 주제 물건
요청에 따라 따라서 어느 도서 페이지 내가 돌아오면 결정하는 소송 절차
예) /home -> Home.html 요청 돌려 주다
요청에 따라 표현 되었습니다 길에서 따라서 적합한 도서 페이지 선택하다 그만큼 도서 페이지 손을 돌려 사용자 웹 사이트상에서 연결하다 소송 절차
MPA(다중 페이지 애플리케이션)

웹 서버 여러 개의 개 도서 페이지 가지다 나중에 길에서 따라서 적합한 도서 페이지 보내다 방법
브라우저 회로망 웹 사이트상에서 약 데이터 당신이 받을 때 새로운 고치다 어떻게 될 것인가 도서 페이지 이동 방법
SPA(단일 페이지 애플리케이션)

반응하다~에 사용 방법, 싱글 페이지로 구성된 회로망 애플리케이션
회로망 신청을 위해 필요한 모든 조용히 자원 처음에는 한 번 다운로드 하다 ~ 후에 새로운 도서 페이지 문의 도시 도서 페이지 업데이트하려면 필요한 데이터만 받았습니다 도서 페이지 고쳐 쓰다 방법
전체적으로 교통 감소하고 렌더링하다 좋은 능률 가지다.
CSR(클라이언트 측 렌더링)
고객 페이지의 저절로 도서 페이지 생식 방법
일찍 화면 부담은 천천히 그러나 부담은 ~이 되다 ~ 후에 재산 이내에 주위를 걷다 그때에 로드 중 과정 에서 사용자 친근성 나아지고 있다
7-2 도서 페이지 라우팅하나
CSR, 반응 라우터 기초적인
ReactRouter~에서 공무상 문서
Reactrouter.com
설치 명령
npm react-router-dom
설치 ~ 후에 패키지.json에게 종속성붓다 확인하면 하다
원천접합재 아래에 접합재 페이지 생산하는 ~ 후에 여러 개의 도서 페이지 책임을 지다 요소 생산하는

Home.js
const Home = () => {
return (
<div>
<h1>Home</h1>
<p>이곳은 홈 입니다</p>
</div>
);
};
export default Home;
전체 이것으로 비슷한 모양으로 만들다 주다
이와 같이 만약에 기초적인 준비는 완전한 될거야
지금 도서 페이지 라우팅 시도 해봐 될거야
app.js
import { BrowserRouter } from "react-router-dom";
function App() {
return (
<BrowserRouter>
<div className="App">
<h2>App.js</h2>
</div>
</BrowserRouter>
);
}
라우터 사용 차이점 요소 브라우저라우터~처럼 덮어야 한다
그만큼 뒤에 도서 페이지구성 요소 수입 할 것이다
import Home from "./pages/Home";
import New from "./pages/New";
import Diary from "./pages/Diary";
import Edit from "./pages/Edit";
app.js
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" element={<Diary />} />
</Routes>
</div>
</BrowserRouter>
);
}
노선그리고 노선붓다 사용법을 통해 라우팅
떨어져 있는~ 안에 노선 요소~ 안에 관련된 길에서 어느 요소 인쇄 여부 지정된 경우 라우팅 하다
관련된 경로로 문의 보내다 보다 변경 부분은 노선~ 안에 있다 일부만 변경 물건 식별하다 숫자 있다
지금 페이지 이동 강요 만들다 보다
HTML~ 안에 ㅏ 징후 내가 전에 여기 사용하지 않음 그거 하지마 페이지는 이동하다 그때에 새로운 고치다 기쁘게 MPA 떨어져 있는.
하지만 React는 SPA 방식을 사용하기 때문에 LIink를 사용합니다.
ㅏ 라벨은 헥사~처럼 노선 하지만 보여 지름길~이다 에게~처럼 노선 표시하다 당신이 주면 하다
노선붓다 시험 하다 ~을 위한 요소 하나 만들다 주다
RouteTest.js
import { Link } from "react-router-dom";
const RouteTest = () => {
return (
<>
<Link to={"/"}>Home</Link>
<br />
<Link to={"/diary"}>Diary</Link>
<br />
<Link to={"/new"}>New</Link>
<br />
<Link to={"/edit"}>Edit</Link>
</>
);
};
export default RouteTest;
app.js에게 추가하면

이와 같이 바로 가기는 올라와 관련된 지름길 누르면 집~라고 불리는 부분 관련된 링크로 오른쪽으로 구성 요소로 변화 물건 볼 숫자 있다
SSR어떤 식으로 도서 페이지 이동하다 만약에 엄밀히 말하자면 도서 페이지 이동하다 ~처럼
도서 페이지 역할 하다 요소 변화 샌드위치 URL하다 변화 페이지는 감동 마치 보이다 만드는 떨어져 있는.
반응하다~ 안에 도서 페이지 변환 도시 플래시 아니요 이동 속도 빠른 편안한 도서 페이지 재배치 할 것이다 숫자 ~하도록 하다 부분 CSR방법 사용.
7-3. 도서 페이지 라우팅 2
CSR
라우터 응답
반응하다~에 CSR기반을 둔 도서 페이지 라우팅 할 것이다 숫자 아마도 해 도서관
라우터 DOM 응답~에서 유용한 기능
경로 변수
전) 예 다이어리도서 페이지
노선: /다이어리
특성: 어느 다이어리 보여줘야 한다 할 것이다 응 계전기 반드시 나무 상자
예: /일기/1 -> 1일 다이어리
useParams
<Route path="/diary/:id" element={<Diary />} />
콜론 ~을 통해 다이어리/뒤에 오다 것들 ID값으로 내가 가져 하나 될거야
그만큼 ID 가치가있다 어떻게 사용 숫자 있다면
Diary.js
import { useParams } from "react-router-dom";
const Diary = () => {
const { id } = useParams();
return (
<div>
<h1>Diary</h1>
<p>이곳은 일기 상세 페이지 입니다</p>
</div>
);
};
export default Diary;
커스텀 훅으로 useParam 도서관 소유하다 도서관 편안한 사용 숫자 ~하도록 하다 만들다 지루한 훅.
useParam붓다 당신이 사용하는 경우 경로 변수두번째 모으다 객체로 배달 내가 하게 해줘 저 할 수 있어요 경로 변수두번째 ID~처럼 했다 왜냐하면 다이어리구성 요소에서 그것을 꺼내 주다.
쿼리 문자열
문의
회로망 웹 사이트상에서 데이터 전달하다 최대 간단히 방법
예) /edit?id=10&mode=dark => 쿼리 문자열
useSearchParams
반응하다~에 문의문을 열어 읽다 ~을 위한 방법
주소 표시줄에서 http://localhost:3000/edit?id=10 ~라고 불리는 문의 보내다
Edit.js 보정
import { useSearchParams } from "react-router-dom";
const Edit = () => {
const (searchParams, setSearchParams) = useSearchParams();
const id = searchParams.get("id");
console.log(id);
const mode = searchParams.get("mode");
console.log(mode);
return (
<div>
<h1>Edit</h1>
<p>이곳은 일기 수정 페이지 입니다</p>
</div>
);
};
export default Edit;
const (searchParams, setSearchParams) = useSearchParams();
첫 번째 돌려받다 인덱스 1 검색 매개변수~이다 받다두번째 ~을 통해 배달 쿼리 문자열두번째 가져가다 숫자 있다 사용하는 것입니다
가져가다 방법
const id = searchParams.get("id");
두번째 setSearchParams~이다 검색 매개변수붓다 바꿀 수있다 있다 기능 있다.
<button onClick={() => setSearchParams({ who: "juseong" })}>
QS 바꾸기
</button>
단추 해 누를 때
http://localhost:3000/edit?who=주성
그만큼 이 주소로 바뀌었다고 볼 숫자 있다.
페이지 이동
탐색 사용
의도적으로 도서 페이지 이동하다 숫자 아마도 부분 물건
도서 페이지 이동하다 숫자 있다 기능 하나 돌려 주다
Edit.js useNavigate붓다 사용 손을 돌려 기능 탐색하다~처럼 허용 반품
탐색(“노선“);~처럼 관련된 경로로 이동하다 숫자 있다 기능
탐색(-1);은 돌아가다 단추 만들다 숫자 있다.
const navigate = useNavigate();
return(
<button onClick={() => {
navigate("/home");
}}>home으로 가기</button>
)