๐Ÿ’ฅReact ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Kim-yujinยท2023๋…„ 7์›” 25์ผ

React

๋ชฉ๋ก ๋ณด๊ธฐ
6/7
post-thumbnail

React ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ฆฌ

๋ฆฌ์•กํŠธ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ •๋ฆฌํ•ด ๋‚˜๊ฐˆ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค.


01. styled-components

styled-components ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” React ๋Œ€์ƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, CSS๋ฅผ React์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ,
styled-component๋กœ ์ง์ ‘ CSS๊ฐ€ ์ ์šฉ๋œ ํƒœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

ํ„ฐ๋ฏธ๋„ > npm install styled-components

styled-components ์ž„ํฌํŠธ

import styled from 'styled-components'

02. import from 'react-router-dom';

ํ„ฐ๋ฏธ๋„ : 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'; 
profile
๐Ÿฐ๋…ธ๋ ฅํ•˜๋ฉฐ ์‚ด์•„๊ฐ€๊ธฐ๐Ÿฐ

0๊ฐœ์˜ ๋Œ“๊ธ€