부트스트랩 Bootstrap Quickly design and customize responsive mobile-first sites with Bootstrap, the world's most popular front-end open source toolkit, featuring Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful JavaScript plugins. https://getbootstrap.com/ 부트스트랩은 웹사이트를 쉽게 만들 수 있게 도와주는 HTML, CSS, JS 프레임워크 유명한 반응형 디자인을 제공해준다.(하나의 CSS로 휴대폰, 태블릿, 데스크탑까지 다양한 기기에서 작동) 설치 npm install --save bootstrap 추가 # src/index.js import 'bootstrap/dist/css/bootstrap.css'; 헤더 이후에 부트스트랩 사이트 → Docs → 원하는 샘플 가져오기 <nav class="navbar navbar-expand-lg navbar-light bg-light"> <div class="container-fluid"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown </a> <ul class="dropdown-menu" aria-labelledby="navbarDropdown"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li><hr class="dropdown-divider"></li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </li> <li class="nav-item"> <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a> </li> </ul> <form class="d-flex"> <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success" type="submit">Search</button> </form> </div> </div> </nav> 헤더에 넣어주기 class로 네이밍되어있는 것을 전부 className으로 바꿔주기 a 태그 부분을 Link 태그로 바꿔주기 # components/layout/header.jsx import React from 'react'; import { Link } from 'react-router-dom'; class Header extends React.Component { render() { return ( <> <nav className="navbar navbar-expand-lg navbar-light bg-light"> <div className="container-fluid"> <Link to="/" className="navbar-brand"> React </Link> <button className="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation" > <span className="navbar-toggler-icon">..</span> </button> <div className="collapse navbar-collapse" id="navbarSupportedContent" > <ul className="navbar-nav me-auto mb-2 mb-lg-0"> <li className="nav-item"> <Link to="/home" className="nav-link"> Home </Link> </li> <li className="nav-item"> <Link to="/about" className="nav-link"> About </Link> </li> <li className="nav-item"> <Link to="/contact" className="nav-link"> Contact </Link> </li> </ul> </div> </div> </nav> </> ); } } export default Header; 바디(content) 역시 bootstrap에서 샘플로 가져옴. 이번에는 listgroup을 가져옴 <ul class="list-group"> <li class="list-group-item">An item</li> <li class="list-group-item">A second item</li> <li class="list-group-item">A third item</li> <li class="list-group-item">A fourth item</li> <li class="list-group-item">And a fifth one</li> </ul> contact.jsx에 넣어줌 역시 class를 className으로 바꿔줌 잘 바뀐 것 확인 가능 결론 및 주의해야 할점 실제 간단한 서비스를 만들때는 부트스트랩 등 프레임워크를 이용하여 화면 꾸미는 것도 쉽게 가능하다. 리액트에서는 class → className, a → Link 로 바꿔줘야한다는 점만 주의하면 된다.
리액트 화면 꾸미기
(주의!!)본 글은 현재 시점에서는 레거시한 '클래스 컴포넌트'를 공부하며 작성한 글입니다.
부트스트랩
설치
추가
헤더
이후에 부트스트랩 사이트 → Docs → 원하는 샘플 가져오기
바디(content)
역시 bootstrap에서 샘플로 가져옴. 이번에는 listgroup을 가져옴
결론 및 주의해야 할점
'기술개발 > React, Frontend' 카테고리의 다른 글