ํ‹ฐ์Šคํ† ๋ฆฌ

๐Ÿฎ
๊ฒ€์ƒ‰ํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ ํ™ˆ

๐Ÿฎ

jinbaaaaang.tistory.com/m

์ง„๋ฐฉ์ด ๋‹˜์˜ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

๊ตฌ๋…์ž
1
๋ฐฉ๋ช…๋ก ๋ฐฉ๋ฌธํ•˜๊ธฐ

์ฃผ์š” ๊ธ€ ๋ชฉ๋ก

  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (7) ๐Ÿ… ๋งˆ์ง€๋ง‰์œผ๋กœ Study ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.Study ํŽ˜์ด์ง€๋Š” Study ์ปดํฌ๋„ŒํŠธ์™€ ๋ฐ”๋Š˜์˜ ํšŒ์ „์„ ๋‹ด๋‹นํ•˜๋Š” ChimStudy ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.ChimStudy ์ปดํฌ๋„ŒํŠธ// ChimStudy.jsimport { useEffect, useState } from "react";import Chim from "../chim/Chim";import "../BackGround/Background.css";export default function ChimStudy({ isStart, setIsStart, degree }) { const savedDegree = parseInt(localStorage.getItem("degree") || degree); const [currentDegree, setCur.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 3.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (6) ๐Ÿ… Pomodoro ํŽ˜์ด์ง€์—๋Š” 0.5์ดˆ์— 1๋„์”ฉ ๋Œ์•„๊ฐ€๋Š” ์‹œ๊ณ„๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ”๋Š˜ ์ปดํฌ๋„ŒํŠธ์™€ Pomodoro์— ์ง์ ‘์ ์œผ๋กœ ๋“ค์–ด๊ฐˆ ๋ฐ”๋Š˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.Chim ์ปดํฌ๋„ŒํŠธ// Chim.jsimport pic5 from "../Pic/Chim.png";export default function Chim(props) { return ( )}props.degree ๊ฐ’์„ ๋ฐ›์•„ ์ด๋ฏธ์ง€๋ฅผ ํ•ด๋‹น ๊ฐ๋„๋กœ ํšŒ์ „์‹œํ‚จ๋‹ค. transition: "transform 1s linear"์„ ํ†ตํ•ด transform ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ๋“ฑ์†๋„๋กœ ํšŒ์ „ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ์ ์šฉํ–ˆ๋‹ค.ClockPomo ์ปดํฌ๋„ŒํŠธ// ClockPomo.jsimport Chim from "../chim/.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 3.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (5) ๐Ÿ… ๋‹ค์Œ์œผ๋กœ Setting ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. Setting ํŽ˜์ด์ง€์—๋Š” ๊ฐ๊ฐ Study์™€ break ์‹œ๊ฐ„์„ ์ˆ˜์ •ํ•˜๋Š” ์ž‘์€ ํ† ๋งˆํ†  ๋ชจ์–‘ 2๊ฐœ๊ฐ€ ์žˆ๋‹ค.์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด TomatoTime์ด๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค.TomatoTime ์ปดํฌ๋„ŒํŠธ// TomatoTime.jsimport pic3 from "../Pic/TomatoTime.png";import "./TomatoTime.css";export default function TomatoTime(props) { return ( {props.title} 00HOUR .. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 3.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (4) ๐Ÿ… ๋ฉ”์ธ ํŽ˜์ด์ง€ ๋‹ค์Œ์œผ๋กœ TodoList ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. TodoList ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํˆฌ๋‘ ์ž…๋ ฅ์นธ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ปดํฌ๋„ŒํŠธ, ํ•˜๋‚˜์˜ ํˆฌ๋‘๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ํˆฌ๋‘๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ๋Š” ์ฒดํฌํ‘œ์‹œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปดํฌ๋„ŒํŠธ์™€ ์‚ญ์ œ๋ฒ„ํŠผ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ปดํฌ๋„ŒํŠธ ๋˜ํ•œ ํ•„์š”ํ•ด์กŒ๋‹ค.๊ทธ๋ž˜์„œ TodoList ์ปดํฌ๋„ŒํŠธ ๋‚ด์— TodoInsert ์ปดํฌ๋„ŒํŠธ์™€ TodoListItem ์ปดํฌ๋„ŒํŠธ๋ฅผ ํฌํ•จํ•˜๊ณ , TodoListItem ์ปดํฌ๋„ŒํŠธ ๋‚ด์— TodoCheck ์ปดํฌ๋„ŒํŠธ์™€ TodoRemove ์ปดํฌ๋„ŒํŠธ๋ฅผ ํฌํ•จํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.TodoList ์ปดํฌ๋„ŒํŠธ// TodoList.jsimport Background from "../BackGround/Background";import pic2 from "../Pic/T.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 3.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (3) ๐Ÿ… ๋จผ์ € ๋Œ์•„๊ฐ€๋Š” ๋ฐ”๋Š˜์„ ์ œ์™ธํ•œ Pomodoro ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„  Background ์ปดํฌ๋„ŒํŠธ์™€ TomatoBtn ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค.Background ์ปดํฌ๋„ŒํŠธ// Background.jsimport { useNavigate } from "react-router-dom";import "./Background.css";export default function Background(props) { let navigate = useNavigate(); let goToMenu = () => { navigate('/'); // "/" ๊ฒฝ๋กœ(ํ™ˆ)๋กœ ์ด๋™ } return ( ๐Ÿ…{props.title}๐Ÿ… );}๋ฐฐ๊ฒฝ์ƒ‰์„ ์ง€.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 3.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (2) ๐Ÿ… SPA ๋ฐฉ์‹์œผ๋กœ ํŽ˜์ด์ง€ ์ด๋™์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ–ˆ๋‹ค.   SPA ๋ฐฉ์‹  : ํŽ˜์ด์ง€ ์ „ํ™˜ ์‹œ์—๋„ ์„œ๋ฒ„์—์„œ์˜ ์ƒˆ๋กœ์šด HTML ์š”์ฒญ ์—†์ด ํ˜„์žฌ ํŽ˜์ด์ง€์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.    ์ƒˆ HTML์„ ์š”์ฒญํ•˜์ง€ ์•Š๊ธฐ์— ํŽ˜์ด์ง€ ์ „ํ™˜์ด ๋น ๋ฅด๊ณ  useState ๋“ฑ์„ ์ด์šฉํ•ด ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ    ์ฒ˜์Œ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๊ธฐ์— ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋А๋ฆด ์ˆ˜ ์žˆ๋‹ค.  // index.jsimport React from 'react';import ReactDOM from 'react-dom/client';import { BrowserRouter } from 'react-router-dom';import App from './App';const root = ReactDOM.crea.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 1 2025. 2. 2.
  • ๐Ÿ… REACT ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ๋งŒ๋“ค๊ธฐ (1) ๐Ÿ… ์—ฌ๋ฆ„๋ฐฉํ•™ ๋™์•ˆ HTML, CSS, JS์™€ ๋ฆฌ์•กํŠธ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค.์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ณต๋ถ€๋ฅผ ํ•˜์ง€ ์•Š์•˜๋”๋‹ˆ ํ”ผ์ƒ์ ์œผ๋กœ๋งŒ ์ดํ•ด๊ฐ€ ๋œ๋‹ค๋Š” ๋А๋‚Œ์„ ๊ณ„์† ๋ฐ›์•„,์ด๋ฒˆ ๊ฒจ์šธ๋ฐฉํ•™์—๋Š” ์ง์ ‘ ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด์ž ๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ๊ณ„ํšํ•œ ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ์ด๋‹ค.  ํ™๋ณด๋ถ€ ์นด๋“œ๋‰ด์Šค๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ซŒ์ซŒ๋”ฐ๋ฆฌ ๊ธฐ๋ฅธ ํ”ผ๊ทธ๋งˆ ์‹ค๋ ฅ์œผ๋กœ UI๋ฅผ ๋””์ž์ธํ–ˆ๋‹ค.UI ๋””์ž์ธ์„ ๋งˆ์นœ ๋‹ค์Œ์—.. ๋‚˜๋Š” ํ”ผ๊ทธ๋งˆ ๊ธฐ๋Šฅ ์ค‘ ์ •๋ง ๊ธฐ๋ณธ๋งŒ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๊ตฌ๋‚˜..์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ.. ํ”ผ๊ทธ๋งˆ๋กœ UI ๋””์ž์ธ ํ•  ๋•Œ ๋””ํ…Œ์ผํ•œ ๋ถ€๋ถ„๊นŒ์ง€ ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ๋ฉด ๊ต‰์žฅํžˆ ๊ท€์ฐฎ๊ตฌ๋‚˜..์ด ๋‘๊ฐ€์ง€๋ฅผ ๋А๊ผˆ๋‹ค. ์ดํ›„ ์œ ํŠœ๋ธŒ์—์„œ 3์‹œ๊ฐ„์ฏค ๋˜๋Š” ํ”ผ๊ทธ๋งˆ ์„ค๋ช… ์˜์ƒ์„ ๋ดค๋‹ค. ๋‹ค์Œ ๋””์ž์ธ ํ•  ๋•Œ ์ ์šฉํ•ด๋ด์•ผ๊ฒ ๋‹ค.  ๋„ค ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ํƒ€์ด๋จธ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์—์„œ๋Š” ํ† ๋งˆํ†  ๋ชจ์–‘์˜ ์‹œ๊ณ„๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋Œ์•„๊ฐ„๋‹ค.. ๊ณต๊ฐ์ˆ˜ 2 ๋Œ“๊ธ€์ˆ˜ 0 2025. 2. 2.
    ๋ฌธ์˜์•ˆ๋‚ด
    • ํ‹ฐ์Šคํ† ๋ฆฌ
    • ๋กœ๊ทธ์ธ
    • ๊ณ ๊ฐ์„ผํ„ฐ

    ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ์นด์นด์˜ค์—์„œ ์‚ฌ๋ž‘์„ ๋‹ด์•„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ยฉ Kakao Corp.