[React] 달력 만들어보기

2022. 9. 14. 16:33·개발/React
728x90
반응형

1. index.js

import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<App />);

reportWebVitals();

2. App.js

import "./App.css";
import Mycom from "./components/Mycom";
import CalenderTop from "./components/CalenderTop";
function App() {
  return (
    <div className="App">
      <CalenderTop />
      <Mycom />
    </div>
  );
}

export default App;

3. components/CalenderTop.js

import React from "react";
import "./CalenderTop.css";

const CalenderTop = () => {
  function weekDiv() {
    let arr = [];
    let tempweek = ["일", "월", "화", "수", "목", "금", "토"];
    for (let i = 0; i < 7; i++) {
      arr.push(<div key={tempweek[i]}>{tempweek[i]}</div>);
    }
    return arr;
  }
  return (
    <div className="Top">
      <div className="Top_month">9月</div>
      <div className="Top_week">{weekDiv()}</div>
    </div>
  );
};

export default CalenderTop;

4. components/Mycom.js

import React from "react";
import "./Mycom.css";

const Mycom = (num) => {
  function makeDay() {
    let day = [];
    for (let i = 1; i <= 30; i++) {
      day.push(i);
    }
    let arr = [];
    for (let i = 0; i < 35; i++) {
      if (i > 4) {
        arr.push(
          <li className="day" key={day[i - 5]}>
            {day[i - 5]}
          </li>
        );
      } else {
        arr.push(<li className="day" key={day[i - 5]}></li>);
      }
    }
    return arr;
  }
  return <ul className="dayWrap">{makeDay()}</ul>;
};

export default Mycom;

5. 결과물

728x90
반응형

'개발 > React' 카테고리의 다른 글

[React] 라우터 사용  (0) 2022.09.20
[React] 가위바위보 만들기  (0) 2022.09.19
[React] 함수형 useEffect  (0) 2022.09.19
[React] 클래스형 컴포넌트  (2) 2022.09.19
[React] 기초  (0) 2022.09.14
'개발/React' 카테고리의 다른 글
  • [React] 가위바위보 만들기
  • [React] 함수형 useEffect
  • [React] 클래스형 컴포넌트
  • [React] 기초
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    go언어
    js
    go
    mysql
    30일 챌린지
    node.js
    명령어
    html
    nodejs
    erc20
    ERC721
    블록체인
    프로그래머스
    컨테이너
    CSS
    React
    도커
    30일챌린지
    node
    하이퍼레저
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[React] 달력 만들어보기
상단으로

티스토리툴바