๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

FE/React

[React] ๋ฆฌ์•กํŠธ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ(react-bootstrap) ์ ์šฉํ•˜๊ธฐ

๐Ÿ“Œ react-bootstrap ์ด๋ž€? 

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

 ๊ฐ์ข… ๋ ˆ์ด์•„์›ƒ, ๋ฒ„ํŠผ, ์ž…๋ ฅ์ฐฝ, ํ…Œ์ด๋ธ” ๋“ฑ์„ ๋ฏธ๋ฆฌ ๋””์ž์ธ์„ ์ •์˜ํ•ด๋‘์–ด React์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถˆ๋Ÿฌ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.  

• ํ”„๋กœ์ ํŠธ ๋‚ด ๋”ฐ๋กœ bootstrap.js ํŒŒ์ผ์„ ๋‘˜ ํ•„์š”๊ฐ€ ์—†๊ณ  react-bootstrap ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 

๐Ÿ“Œ Bootstrap ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ํ•˜๊ธฐ 

• react Bootstrap ๋ฌธ์„œ์—์„œ ์ฐธ๊ณ ํ•ด npm์—์„œ react-bootstrap ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

• npm install ์€ yarn add ์™€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, yarn์€ yarn add react-bootstrap bootstrap ์œผ๋กœ ์„ค์น˜ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

npm install react-bootstrap bootstrap

 

๐Ÿ“Œ Bootstrap import 

•๋จผ์ € App.js ๋˜๋Š” index.js ์— bootstrap ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ importํ•ฉ๋‹ˆ๋‹ค.

import 'bootstrap/dist/css/bootstrap.min.css';

 

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ• ๋•Œ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Œ์— ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ผ์š”. 
(๋ฒ„ํŠผ, ์ž…๋ ฅ์ฐฝ, ๋ฆฌ์ŠคํŠธ, ํ…Œ์ด๋ธ” ๋“ฑ์„ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์ปดํฌ๋„ŒํŠธ๋ผ๊ณ  ํ• ๊ฒŒ์š”) 

import Button from 'react-bootstrap/Button'; //1๋ฒˆ 
import { Button } from 'react-bootstrap'; //2๋ฒˆ

 

๐Ÿ“Œ Bootstrap ์ ์šฉํ•˜๊ธฐ

• Bootstrap ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ 

Bootstrap ๋ฒ„ํŠผ ํƒ€์ž…์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” variant ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค :) 

variant : Primary, Secondary, Success, Warning, Danger, Info, Light, Dark, Link

 

import React from "react";
import Button from 'react-bootstrap/Button';
function Button(){
    return (
        <div>
            <Button variant="primary">Primary</Button>
            <Button variant="secondary">Secondary</Button>
            <Button variant="success">Success</Button>
            <Button variant="warning">Warning</Button>
            <Button variant="danger">Danger</Button>
            <Button variant="info">Info</Button>
            <Button variant="light">Light</Button>
            <Button variant="dark">Dark</Button>
            <Button variant="link">Link</Button>
        </div>
    );
}

export default Button;

- ๊ฒฐ๊ณผ 

์ด์ œ ์ฝ˜์†”์—์„œ npm start ๋ฅผ ์ž…๋ ฅํ•œ ํ›„, localhost:3000 ์„ ํ˜ธ์ถœํ•ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ๊ฐ๊ฐ์˜ ๋ฒ„ํŠผ ์Šคํƒ€์ผ์„ ํ™•์ธํ•ด๋ณด์„ธ์š”. 

 

• Bootstrap ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ 

bootstrap ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด bootstrap ํ…Œ์ด๋ธ”์„ ์ ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค :D

import React from "react";
import Table from 'react-bootstrap/Table';
function List(){

    return (
    <Table striped bordered hover>
        <thead>
        <tr>
            <th>#</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Username</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>1</td>
            <td>Mark</td>
            <td>Otto</td>
            <td>@mdo</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Jacob</td>
            <td>Thornton</td>
            <td>@fat</td>
        </tr>
        </tbody>
    </Table>);
}

export default  List;

- ๊ฒฐ๊ณผ

localhost:3000 ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋ฅผ ํ™•์ธํ•ด๋ณด์„ธ์š” :D