๋ฆฌ์กํธ ๋ผ์ฐํฐ
-
React.js <Link> ์ปดํฌ๋ํธ์ <NavLink> ์ปดํฌ๋ํธ ๋น๊ต (React Router)
์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ๋น๊ต (React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ์ ์ฐจ์ด์ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ์ปดํฌ๋ํธ๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ์์ ์ ๊ณตํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋งํฌ(Link) ์ปดํฌ๋ํธํน์ ๊ฒฝ๋ก๋ก ์ด๋ํ ์ ์๋ ๋ด๋น๊ฒ์ด์ ๋งํฌ๋ฅผ ์์ฑํ๋ค.HTML์ ํ๊ทธ์ ์ ์ฌํ์ง๋ง, ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด SPA(Single Page Application) ๋ด์์ ๋ผ์ฐํ ์ ์ฒ๋ฆฌํ๋ค. ํน์งํ์ด์ง๋ฅผ ์๋ก ๊ณ ์นจํ์ง ์๊ณ , ํด๋ผ์ด์ธํธ ์ธก ๋ผ์ฐํ ์ ์ํํ๋ค.๋จ์ํ ๋ผ์ฐํ ์ ์ ํฉํ๋ค.์ ํ๋ ์ํ์ ๋ฐ๋ฅธ ์คํ์ผ๋ง ๊ธฐ๋ฅ์ ์๋ค. ์ฌ์ฉ ์์ ์ฝ๋import { Link } from "react-router-dom";function App() { return ( ..
0 2024.11.13 -
React.js URL์ ํ๋ฆฌ๋ฏธํฐ(Parameter) ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
URL์ ํ๋ฆฌ๋ฏธํฐ(Parameter) ๊ฐ ๊ฐ์ ธ์ค๊ธฐ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js)์์ URL์ ํ๋ผ๋ฏธํฐ(Parameter) ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ํ๋ผ๋ฏธํฐ(Parameter)๊ฐ๋ URL ๊ฒฝ๋ก์ ์ผ๋ถ๋ถ์ผ๋ก, ์ฃผ๋ก ํน์ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.RESTful API ์ค๊ณ์์ ํํ ์ฌ์ฉ๋๋ฉฐ, ๋ฆฌ์์ค์ ๊ณ ์ ์๋ณ์๋ฅผ ๋ํ๋ธ๋ค.URL ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ์ธ ๊ฒฝ๋ก๋ฅผ ์์ฑํ ์ ์์ด, ๋ค์ํ ๋ฆฌ์์ค์ ๋ํด ๋์ผํ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค. ์ข ๋ฅ์ข ๋ฅ์ค๋ช ๊ฒฝ๋ก ํ๋ผ๋ฏธํฐ(Path Parameter)- ํน์ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ- ์: /users/:userId์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ(Query Parameter)- URL์ ? ๋ค์ ์์นํ๋ฉฐ, ํค-๊ฐ ์์ผ๋ก ๋ค์ํ ์ต์ ์ ์ ๋ฌํ๋ค.- ์) ?sea..
1 2024.10.02 -
React.js ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)
๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js)์์ ๋ผ์ฐํ ์ ํ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router) ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค.v6์ ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํ์๋ค. ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)๊ฐ๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ผ์ฐํ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฆฌ์กํธ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ์ ํํ ๋ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ์ง ์๊ณ ๋ URL์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ ์ ์๋ค. ๊ตฌ์ฑ ์์BrowserRouterHTML5์ History API๋ฅผ ์ฌ์ฉํ์ฌ URL์ ๊ด๋ฆฌํ๋ค.์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์์ ์ปดํฌ๋ํธ๋ก ์ฌ์ฉ๋๋ค. Routes๊ฐ ๊ฒฝ๋ก์ ๋ํ ๋ผ์ฐํธ๋ฅผ ์ ์ํ๋ ์ปจํ ์ด๋ํ๋ ์ด์์ Route๋ฅผ ์์์ผ๋ก ๊ฐ์ง ์ ์๋ค. Ro..
0 2024.09.26 -
React.js useSearchParams ํ (React Router)
useSearchParams ํ (React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ useSearchParams ํ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. useSearchParams๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)๋ฅผ ์ฌ์ฉํ์ฌ URL์ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฝ๊ณ ์ค์ ํ๋ ๋ฐ ์ ์ฉํ ๋๊ตฌ์ด ํ ์ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๊ฐ URL์ ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ฝ๊ฒ ์ ๊ทผํ๊ณ ์กฐ์ํ ์ ์๋ค.React Router v6์์ ๋์ ๋์๊ณ , ๊ธฐ์กด์ useLocation๊ณผ useHistory ํ ์ ๊ฒฐํฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ฌ์ฉ๋ฒimport React from 'react';import { useSearchParams } from 'react-router-dom';function MyComponent() { /..
0 2024.07.08 -
React.js defer() (React Router)
defer() (React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ defer()์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. defer()๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ ์ ์ ํ์ด์ง ์ผ๋ถ๋ฅผ ๋จผ์ ๋ ๋๋งํ๊ณ , ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ๋ฉด ๋๋จธ์ง ๋ถ๋ถ์ ๋ ๋๋งํ ์ ์๋๋ก ํด์ค๋ค.ํ์ด์ง ๋ก๋ฉ ์๋๋ฅผ ํฅ์์ํค๊ณ , ์ฌ์ฉ์ ๊ฒฝํ(UX)์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ ์ค๋ค. ์ฃผ์ ํน์ง๋น๋๊ธฐ ๋ฐ์ดํฐ ๋ก๋ฉdefer๋ ๋น๋๊ธฐ ๋ฐ์ดํฐ ๋ก๋ฉ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋์ ์ผ๋ถ ํ์ด์ง ์ฝํ ์ธ ๋ฅผ ๋จผ์ ๋ ๋๋งํ๊ณ , ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ๋ฉด ๋๋จธ์ง ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ๋ค.๋น ๋ฅธ ํ์ด์ง ๋ ๋๋ง๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ ํ์ด์ง ์ผ๋ถ๋ฅผ ์ฆ์ ๋ ๋๋งํ ์ ์์ด ํ์ด์ง ๋ก๋ฉ ์๊ฐ์ ๋จ์ถํ..
0 2024.07.07 -
React.js useFetcher ํ (React Router)
useFetcher ํ (React Router)๋ค์ด๊ฐ๋ฌ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ useFetcher() ํ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. useFetcher๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ํ์ด์ง ์ ํ ์์ด ๋ฐ์ดํฐ ๋ก๋ฉ์ด๋ ์ก์ ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋์์ฃผ๋ ํ (Hook)์ฃผ๋ก ํผ ์ ์ถ์ด๋ ๋ฐ์ดํฐ ํ์นญ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฒ๋ฆฌํ๊ณ , ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ์ ํ ์์ด ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค. ์ฃผ์ ๊ธฐ๋ฅ๋ฐ์ดํฐ ๋ก๋ฉ ๋ฐ ์ก์ ํธ๋ฆฌ๊ฑฐ๋ก๋ฉ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ๊ฐ์ ธ์ค๊ฑฐ๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ ์ ์๋ค.ํ์ด์ง ์ ํ ์์.ํ์ด์ง ์ ํ ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์ ์ถํ ์ ์์ผ๋ฏ๋ก, ์ฌ์ฉ์ ๊ฒฝํ์ด ๋ณด๋ค ๋งค๋๋ฝ๋ค.์ํ ๊ด๋ฆฌํ์ฌ ๋ก๋ฉ ์ํ์ ๋ก๋ฉ ์๋ฃ ํ ๋ฐ์ดํฐ๋ฅผ..
0 2024.07.07 -
React.js json() ์ ํธ๋ฆฌํฐ ํจ์ (React Router)
json() ์ ํธ๋ฆฌํฐ ํจ์ (React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ json() ์ ํธ๋ฆฌํฐ ํจ์์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. json()๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ ์ ๊ณตํ๋ ํจ์React Router v6.4์์ ์ถ๊ฐ๋ ์ ํธ๋ฆฌํฐ ํจ์์ฃผ๋ก ๋ผ์ฐํฐ ํธ๋ค๋ฌ์์ ์ฌ์ฉ๋๋ฉฐ, JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ์๋ต(Response)์ผ๋ก ๋ฐํํ๋ค. ํน์ง์๋ ์ค์ ๋ Content-Typejson() ํจ์๋ ๋ฐํ๋ ์๋ต์ Content-Type ํค๋๋ฅผ application/json์ผ๋ก ์๋์ผ๋ก ์ค์ ํ๋ค.๊ฐํธํ ์ฌ์ฉJSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋๋ฐ ํ์ํ ์ฝ๋๋ฅผ ๊ฐ์ํํ์ฌ, ๊ฐ๋ฐ์๊ฐ ๋ณด๋ค ์ง๊ด์ ์ด๊ณ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.์ํ(Status) ์ฝ๋ ์ค์ ๊ฐ๋ฅ..
0 2024.07.05 -
React.js useRouterError ํ (React Router)
useRouterError ํ ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์ useRouterError ํ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. useRouterError ํ ๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(react-router-dom)์์ ์ ๊ณตํ๋ ํ ๋ผ์ฐํธ ์ฒ๋ฆฌ ์ค ๋ฐ์ํ ์๋ฌ๋ฅผ ์ก์์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.์ฃผ๋ก ์ค๋ฅ ๊ฒฝ๊ณ(Error Boundary)์ ํจ๊ป ์ฌ์ฉ๋์ด, ๋ผ์ฐํธ ๋ด์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ค๋ฅ ๊ฐ์ง: ๋ผ์ฐํธ ์ปดํฌ๋ํธ์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ๊ฐ์งํ ์ ์๋ค.์๋ฌ ํธ๋ค๋ง: ๊ฐ์ง๋ ์ค๋ฅ๋ฅผ ์ฌ์ฉ์ ์ ์ ์๋ฌ ๋ฉ์์ง๋ ์ปดํฌ๋ํธ๋ก ๋ ๋๋งํ ์ ์๋ค.์ค๋ฅ ์ ๋ณด ์ ๊ณต: ์ค๋ฅ ๊ฐ์ฒด๋ฅผ ๋ฐํํ์ฌ ์ค๋ฅ ๋ฉ์์ง, ์คํ ํธ๋ ์ด์ค ๋ฑ์ ํ์ฉํ ์ ์๋ค. ์ฌ์ฉ ์์ ์์ 1..
0 2024.07.05 -
React.js React Router์ loader ์์ฑ
React Router์ loader ์์ฑ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(react-router-dom)์ loader ์์ฑ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. React Router์ loader ์์ฑReact Router Version 6 ๋ถํฐ ์ฌ์ฉํ ์ ์๋ค.์ปดํฌ๋ํธ๊ฐ ๋๋๋ง๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.๋ก๋ ํจ์์์ ๋ฐํ๋ ๋ฐ์ดํฐ๋ ์๋์ผ๋ก ํด๋น ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.๋ก๋๋ ํจ์๋ก ์ ์๋๋ฉฐ, ํด๋น ํจ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ปดํฌ๋ํธ์ ์ ๋ฌํ๋ค.๋ก๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ด, ์ปดํฌ๋ํธ๊ฐ ์ด๊ธฐ ๋ก๋ฉ ์ํ๋ฅผ ํ์ํ์ง ์๊ณ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋งํ ์ ์๋ค.๋ฐ๋ผ์ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์๋ค. ์์ ์ฝ๋import { RouterProvider, cre..
0 2024.07.03