-
[모각코+] 웹 리액트(React) 1월달과정 8일차모각코+/React 2022. 1. 21. 18:03728x90
✅ 오늘의 문제 : 조건부 렌더링 ② - 삼항연산자 by Qcell | 코드메이트
이번 시간에는 유튜브의 Header부분을 클론코딩 했습니다. react의 아이콘 라이브러리를 통해 구현했고, 삼항연산자를 이용하여 subscribe 기능을 테스트로 구현해 봤습니다:D Header.js import styles from '.
codemate.kr
✅ 오늘의 문제 : 조건부 렌더링 ② - 삼항연산자
이번 시간에는 유튜브의 Header부분을 클론코딩 했습니다.
react의 아이콘 라이브러리를 통해 구현했고, 삼항연산자를 이용하여 subscribe 기능을 테스트로 구현해 봤습니다:D
Header.js
import styles from './Header.module.css'; import youtube_logo from '../../data/youtube_logo.png'; import { FiMenu } from 'react-icons/fi'; import { IoSearchOutline } from 'react-icons/io5'; import { BsGrid3X3Gap } from 'react-icons/bs'; import { HiOutlineDotsVertical } from 'react-icons/hi'; function Header() { return ( <div className={styles.header}> <div className={styles.tab}> <FiMenu className={styles.icon} /> <img src={youtube_logo} alt="로고" className={styles.logo} /> </div> <div className={styles['center-tab']}> <input className={styles.input} /> <IoSearchOutline className={styles['search-icon']} /> </div> <div className={styles.tab}> <BsGrid3X3Gap className={styles.icon} /> <HiOutlineDotsVertical className={styles.icon} /> </div> </div> ); } export default Header;
Header.module.css
.header { display: flex; position: fixed; top: 0; width: 100%; height: 56px; padding: 0 16px; background-color: white; align-items: center; justify-content: space-between; box-sizing: border-box; } .tab { display: flex; align-items: center; } .icon { width: 24px; height: 24px; padding: 8px; cursor: pointer; } .logo { padding-left: 16px; } .center-tab { display: flex; align-items: center; flex: 0 1 640px; padding: 0 16px; } .input { height: 30px; border: 1px solid #d3d3d3; box-sizing: border-box; flex: 1; } .search-icon { width: 24px; height: 24px; padding: 2px 20px; border: 1px solid #d3d3d3; background-color: #f8f8f8; cursor: pointer; }
App.js
import youtubeData from './data/youtubeData.json'; import styles from './App.module.css' import Layout from './components/shared/Layout' import { useState } from 'react'; function App(){ const [check,setSub]=useState(false); function subScribe(){ setSub(check=>!check); } return ( <Layout> {check ? <button className={styles.sub2} onClick={subScribe}>구독중</button>:<button className={styles.sub1} onClick={subScribe}>Subscribe</button>} </Layout> ) } export default App;
728x90'모각코+ > React' 카테고리의 다른 글
[모각코+] 웹 리액트(React) 1월달과정 10일차 (0) 2022.01.21 [모각코+] 웹 리액트(React) 1월달과정 9일차 (0) 2022.01.21 [모각코+] 웹 리액트(React) 1월달과정 7일차 (0) 2022.01.21 [모각코+] 웹 리액트(React) 1월달과정 6일차 (0) 2022.01.20 [모각코+] 웹 리액트(React) 1월달과정 5일차 (0) 2022.01.18