styled-components ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ React ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, CSS๋ฅผ React์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์์ ์ฌ์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก,
styled-component๋ก ์ง์ CSS๊ฐ ์ ์ฉ๋ ํ๊ทธ๋ฅผ ์์ฑํด์ ์ฌ์ฉํ ์ ์๋ ์ฅ์ ์ด ์๋ค.
ํฐ๋ฏธ๋ > npm install styled-components
styled-components ์ํฌํธ
import styled from 'styled-components'
ํฐ๋ฏธ๋ : npm i react-router-dom
App.js์์ ๋ผ์ฐํฐ๋ฅผ ์ค์ ํ๊ธฐ ์ํ react-router-dom
(1) Router: ์ปดํฌ๋ํธ์ ์์ฑ์ ์ค์ ๋ URL๊ณผ ํ์ฌ ๊ฒฝ๋ก๊ฐ ์ผ์นํ๋ฉด ํด๋นํ๋ ์ปดํฌ๋ํธ, ํจ์๋ฅผ ๋ ๋๋งํ๋ค.
(2) Routes : ์ฌ๋ฌ Route๋ฅผ ๊ฐ์ธ์ ๊ทธ ์ค ์ผ์นํ๋ ๋ผ์ฐํธ ๋จ ํ๋๋ง์ ๋ ๋๋ง ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ค.
(3) Route : path์์ฑ์ ๊ฒฝ๋ก, element์์ฑ์๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฃ์ด ์ค๋ค. ์ฌ๋ฌ ๋ผ์ฐํ
์ ๋งค์นญํ๊ณ ์ถ์ ๊ฒฝ์ฐ URL ๋ค์ *์ ์ฌ์ฉํ๋ฉด ๋๋ค.
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
const App = () => {
return (
<Router>
<Routes>
<Route path='/' element={์ด๋ํ ํ์ผ}></Route>
<Route path='/*'></Route>
</Routes>
</Router>
);
}
Link ํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ react-router-dom
(1) Link : ๋ฆฌ์กํธ ๋ผ์ฐํฐ์์ ํ์ด์ง ์ด๋ํ ๋ Link ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด๊ฐ ์ด๋ํ๊ณ ์ ํ๋ ๊ฒฝ๋ก(URL)๋ก ์ด๋
import { NavLink as Link } from 'react-router-dom';