React Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
React ํ๋ก์ ํธ์์ Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ 2 ๊ฐ์ง๊ฐ ์๋ค.
1.
bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
(๊ทธ๋ฅ Bootstrap)
2.
react-bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
(React ์ฉ Bootstrap)
bootstrap vs react-bootstrap
1.
Bootstrap
โข
Bootstrap์ ์๋ jQuery์ ํจ๊ป ์ฌ์ฉ๋๋ CSS ํ๋ ์์ํฌ๋ก, jQuery ๊ธฐ๋ฐ์ JavaScript ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
โข
React ํ๋ก์ ํธ์์ Bootstrap์ ์ฌ์ฉํ๋ ค๋ฉด Bootstrap CSS ํ์ผ์ ํ๋ก์ ํธ์ ์ถ๊ฐํ๊ณ , ํ์ํ ๊ฒฝ์ฐ jQuery์ Popper.js๋ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
โข
Bootstrap์ JavaScript ๊ธฐ๋ฅ์ React์ ์ด์ธ๋ฆฌ์ง ์์ ์ ์์ต๋๋ค. ํนํ, React๋ ๊ฐ์ DOM์ ์ฌ์ฉํ๋ฉฐ, jQuery ๊ธฐ๋ฐ์ DOM ์กฐ์์ React์ ์ฒ ํ๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
import logo from './logo.svg';
import './App.css';
import 'bootstrap/dist/css/bootstrap.min.css';
function App() {
return (
<div className="container">
<h1>Hello, Bootstrap!</h1>
<button className="btn btn-primary">Click me</button>
</div>
);
}
export default App;
JavaScript
๋ณต์ฌ
2.
react-bootstrap ์ฌ์ฉ:
โข
react-bootstrap์ Bootstrap์ React ๊ตฌํ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ด๋ React ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ด React์์ ํตํฉ์ด ๋์ฑ ์ฉ์ดํฉ๋๋ค.
โข
react-bootstrap์ ์ฌ์ฉํ๋ฉด Bootstrap์ ๊ธฐ๋ฅ์ React ์คํ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Bootstrap์ "Alert" ์ปดํฌ๋ํธ๋ฅผ react-bootstrap์ ์ฌ์ฉํ์ฌ React ์คํ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
โข
react-bootstrap์ Bootstrap์ ์คํ์ผ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด Bootstrap CSS ํ์ผ์ ์ถ๊ฐํ๋ ๋์ , Bootstrap์ ์คํ์ผ์ ์ง์ React ์ปดํฌ๋ํธ๋ก ๊ตฌํํ์ฌ ์ฌ์ฉํฉ๋๋ค.
import React from 'react';
import { Container, Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
function App() {
return (
<Container>
<h1>Hello, Bootstrap!</h1>
<Button variant="primary">Click me</Button>
</Container>
);
}
export default App;
JavaScript
๋ณต์ฌ
Bootstrap
Bootstrap์ ์น ๊ฐ๋ฐ์ ์ํ ์คํ ์์ค ํ๋ก ํธ์๋ ํ๋ ์์ํฌ๋ก, ํธ์ํฐ์์ ๊ฐ๋ฐํ์์ต๋๋ค. ์ฃผ๋ก HTML, CSS, JavaScript๋ฅผ ์ด์ฉํ์ฌ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋ชจ๋ฐ์ผ ์ฐ์ ์ ๋ฐ์ํ ์น ํ์ด์ง๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ ๋์์ธ ๋ชจ์์
๋๋ค.
React ์์ Bootstrap ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
1.
React ํ๋ก์ ํธ ์์ฑ
2.
Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
3.
Bootstrap import
4.
ํด๋์ค ์์ฑ ๋ฐ ์ํ๊ฐ์ ์ด์ฉํ์ฌ ์คํ์ผ ์ ์ฉ
React ํ๋ก์ ํธ ์์ฑ
npx create-react-app bootstrap-react-app
Shell
๋ณต์ฌ
Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
cd bootstrap-react-app
npm install bootstrap@5
Shell
๋ณต์ฌ
Bootstrap import
โข
src/index.css
/* src/index.css */
/* ๊ธฐ์กด ์คํ์ผ ์ ์ง */
/* Bootstrap 5 ์คํ์ผ ์ถ๊ฐ */
@import "~bootstrap/dist/css/bootstrap.min.css";
CSS
๋ณต์ฌ
โข
src/App.js
import 'bootstrap/dist/css/bootstrap.min.css';
JavaScript
๋ณต์ฌ
ํด๋์ค ์์ฑ ๋ฐ ์ํ๊ฐ์ ์ด์ฉํ์ฌ ์คํ์ผ ์ ์ฉ
import logo from './logo.svg';
import './App.css';
import 'bootstrap/dist/css/bootstrap.min.css';
function App() {
return (
<div className="container">
<h1>Hello, Bootstrap!</h1>
<button className="btn btn-primary">Click me</button>
</div>
);
}
export default App;
HTML
๋ณต์ฌ
์คํ ๊ฒฐ๊ณผ
react-bootstrap
React ํ๋ก์ ํธ์์ Bootstrap ์คํ์ผ์ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
react-bootstrap์ Bootstrap์ ๊ธฐ๋ฅ์ React ์ปดํฌ๋ํธ๋ก ๋ํํ์ฌ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด React ๊ธฐ๋ฐ์ ํ๋ก์ ํธ์์๋ Bootstrap์ ๊ฐ๋ ฅํ ์คํ์ผ ๋ฐ ๊ตฌ์ฑ ์์๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์ฃผ์ ํน์ง ๋ฐ ์ฅ์
1.
React ์ปดํฌ๋ํธ๋ก ๊ตฌํ๋ Bootstrap: Bootstrap์ ๋ค์ํ ๊ตฌ์ฑ ์์๋ฅผ React ์ปดํฌ๋ํธ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
2.
React ์ํ๊ณ์์ ํตํฉ: React ํ๋ก์ ํธ์์ ์์ฐ์ค๋ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก React ์ํ๊ณ์ ํตํฉ๋์ด ์์ต๋๋ค.
3.
๋ชจ๋์ฑ ๋ฐ ์ปค์คํฐ๋ง์ด์ง: Bootstrap ์คํ์ผ์ ๋ชจ๋๋ก ์ฌ์ฉํ๋ฉด์ ํ์ํ ๊ฒฝ์ฐ ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ์ปค์คํฐ๋ง์ด์งํ ์ ์์ต๋๋ค.
4.
์ ์ง๋ณด์ ์ฉ์ด์ฑ: Bootstrap ์
๋ฐ์ดํธ๊ฐ ์์ ๋, ํด๋น ์
๋ฐ์ดํธ๋ฅผ ์ฝ๊ฒ ํตํฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, Button, Navbar, Modal๊ณผ ๊ฐ์ Bootstrap์ ๊ตฌ์ฑ ์์๋ฅผ react-bootstrap์์๋ ๋ค์๊ณผ ๊ฐ์ด React ์ปดํฌ๋ํธ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
bootstrap vs react-bootstrap
React-Bootstrap์ React๋ฅผ ์ฌ์ฉํ์ฌ Bootstrap ๊ตฌ์ฑ ์์๋ฅผ ์์ ํ ๋ค์ ๊ตฌํํ ๊ฒ์
๋๋ค.ย ๋๋ jQuery ์ ์ข
์๋์งย bootstrap.jsย ์์ต๋๋คย ย ย .ย React ์ค์ ๊ณผ React-Bootstrap์ด ์ค์น๋์ด ์๋ค๋ฉด ํ์ํ ๋ชจ๋ ๊ฒ์ ๊ฐ์ถ ๊ฒ์
๋๋ค.
jQuery๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์๋์ ์ด๋ฒคํธ๋ DOM์ ์ง์ ์กฐ์ํ์ฌ ๋ช
๋ น์ ์ผ๋ก ์ํ๋ฉ๋๋ค.ย ๋์กฐ์ ์ผ๋ก React๋ ์ํ ์
๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ DOM์ ์
๋ฐ์ดํธํฉ๋๋ค.ย ์ด๋ฐ ๋ฐฉ์์ผ๋ก React-Bootstrap์ Bootstrap ๊ธฐ๋ฅ์ React์ ๊ฐ์ DOM์ ํตํฉํ์ฌ ๋ณด๋ค ์์ ์ ์ธ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค.
react-bootstrap ์ฌ์ฉ ๋ฐฉ๋ฒ
1.
React ํ๋ก์ ํธ ์์ฑ
2.
react-bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
3.
react-bootstrap ์ปดํฌ๋ํธ import
4.
react-bootstrap์ React ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉ
React ํ๋ก์ ํธ ์์ฑ
npx create-react-app react-bootstrap-app
Shell
๋ณต์ฌ
react-bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
npm install react-bootstrap bootstrap
Shell
๋ณต์ฌ
react-bootstrap ์ปดํฌ๋ํธ import
import { Container, Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
JavaScript
๋ณต์ฌ
react-bootstrap์ React ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉ
import React from 'react';
import { Container, Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
function App() {
return (
<Container>
<h1>Hello, Bootstrap!</h1>
<Button variant="primary">Click me</Button>
</Container>
);
}
export default App;
JavaScript
๋ณต์ฌ
์คํ ๊ฒฐ๊ณผ
๋ ์์ธํ ๊ฐ์ด๋์ ๊ฐ๋ฐ ๋ฌธ์๋ ์๋ ๋งํฌ์์ ํ์ธํ ์ ์์ต๋๋ค.