[โš›๏ธ] useEffect, useRef

useEffect ๐Ÿ“useEffect์˜ ํŠน์ง•๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋œ ์ดํ›„๋งˆ๋‹ค ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๋Š” hook (์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ, ์‚ฌ๋ผ์งˆ ๋•Œ)useEffect ์ƒ์„ฑ ํ›„, Import ํ•„์ˆ˜state๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋ฆฌ-๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜์„œ useEffect๊ฐ€ ๊ณ„์† ์‹คํ–‰๋จ=> ์˜์กด์„ฑ ๋ฐฐ์—ด๋กœ ๋ง‰์„ ์ˆ˜ ์žˆ์Œ๐Ÿ“์˜์กด์„ฑ ๋ฐฐ์—ด ์ด ๋ฐฐ์—ด์— ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๊ทธ ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ๋งŒ useEffect๋ฅผ ์‹คํ–‰์‹œํ‚ดTrigger : useEffect์˜ ๋™์ž‘์„ ์ด๋Œ์–ด๋‚ด๋Š” ์–ด๋– ํ•œ ๋ณ€์ˆ˜ (๋ฐฐ์—ด์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’)์˜์กด์„ฑ ๋ฐฐ์—ด์ด ๋นˆ ๋ฐฐ์—ด์ผ ๊ฒฝ์šฐ : ์ตœ์ดˆ ๋ Œ๋”๋ง ์ดํ›„ ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰, ๊ทธ ์ดํ›„์—๋Š” ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋„ ์‹คํ–‰ X ๐Ÿ“clean upuseEffect์˜ return ๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ํ•จ์ˆ˜๋ฆฌ์†Œ์Šค ์ •๋ฆฌ, ๋ถˆํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ..

Language/React 2025. 1. 30. 21:00
[โš›๏ธ] CSS in JS(Styled-components, GlobalStyles

CSS in JS ๐Ÿ“๋ฆฌ์•กํŠธ์—์„œ css ์ ์šฉ๋ฒ•์ธ๋ผ์ธ ์Šคํƒ€์ผcss ํŒŒ์ผ ์ž‘์„ฑ ํ›„ className์œผ๋กœ ์ ์šฉCSS in JS ๐Ÿ“CSS in JS ๋ž€?์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ CSS ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊พธ๋ฏธ๋Š” ๋ฐฉ์‹style์„ ์ ์šฉํ•  ๋•Œ ์กฐ๊ฑด๋ฌธ, ๋ณ€์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋กœ์ง์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. styled-components๐Ÿ“styled-components ๋ž€?๋ฆฌ์•กํŠธ์—์„œ CSS-in-JS ๋ฐฉ์‹์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊พธ๋ฐ€์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€ ๐Ÿ“styled-components ์„ค์น˜ ๋ฐ ์‚ฌ์šฉVSCode ๋‚ด ํ™•์žฅํ”„๋กœ๊ทธ๋žจ ์„ค์น˜yarn์œผ๋กœ styled-components ์„ค์น˜ํ•˜๊ธฐ (ํ„ฐ๋ฏธ๋„)yarn add styled-components ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊พธ๋ฏธ๊ณ ์ž ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ SC์˜ ๋ฐฉ์‹๋Œ€๋กœ ๋จผ์ € ๋งŒ๋“ค๊ณ , ๊ทธ ์•ˆ์— ์Šคํƒ€์ผ ..

Language/React 2025. 1. 27. 20:38
[โš›๏ธ] useState() ๋ฅผ ์™œ ์“ธ๊นŒ?

๋ฆฌ์•กํŠธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ ๋“ค์€ ์ƒ๊ฐuseState์˜ ์ •ํ™•ํ•œ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ด๋ฉฐ, ์™œ ์“ฐ๋Š” ๊ฑธ๊นŒ?๋ฆฌ์•กํŠธ์—์„œ useState์˜ ์—ญํ•  ๐Ÿ“useState๋ž€?'state'๋ผ๋Š” ๊ฒƒ์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.  ๐Ÿ“state๋ž€?๋ณ€๊ฒฝ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ณ€์ˆ˜์ด๋‹ค.state์— ํ• ๋‹น๋œ ๊ฐ’์ด ๋ณ€ํ•˜๋ฉด ๊ทธ์™€ ๊ด€๋ จ๋œ ์ปดํฌ๋„ŒํŠธ(ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ธ”๋Ÿญ)๋“ค์ด ์žฌ๋ Œ๋”๋ง ๋œ๋‹ค. ์ผ๋ฐ˜ ๋ณ€์ˆ˜๋Š” ๊ฐ’์€ ๋ฐ”๊พธ์–ด๋„ ํ™”๋ฉด์„ ์žฌ๋ Œ๋”๋ง ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค.state๋Š” ๋ฆฌ์•กํŠธ์—์„œ ๋‹จ์ˆœํ•œ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ณ€ํ™”ํ•˜๋Š” ๊ฐ’์— ๋”ฐ๋ผ ํ™”๋ฉด์— ๋ฐ˜์˜๋˜๋„๋ก ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. ์ฆ‰, state๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”๋ฆฌ์•กํŠธ์—์„œ state๊ฐ€ ํ™”๋ฉด์„ ์žฌ๋ Œ๋”๋ง ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  ๐Ÿ“useState ํ˜•ํƒœ ๋ถ„์„const [ name, setName ] = useState(์ดˆ๊ธฐ๊ฐ’); ์œ„์˜ ํ˜•์‹..

Language/React 2025. 1. 22. 23:00
[React ์ž…๋ฌธ Day 2] state, ๋ Œ๋”๋ง, Virtual DOM ๊ฐ„๋‹จ ์ •๋ฆฌ

Props ๐Ÿ“props๋ž€?์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ •๋ณด ๊ตํ™˜ ๋ฐฉ์‹๋ถ€๋ชจ → ์ž์‹์—๊ฒŒ ๋ฐ์ดํ„ฐ(๊ฐ์ฒด ํ˜•ํƒœ)๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ตฌ์กฐ.๐Ÿ“ํŠน์ง•๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„: ๋ฐ˜๋“œ์‹œ ๋ถ€๋ชจ → ์ž์‹ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ „๋‹ฌ๋œ๋‹ค.์ฝ๊ธฐ ์ „์šฉ: props๋Š” ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ์ „๋‹ฌ๋ฐ›์€ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ“์‚ฌ์šฉ ํ˜•ํƒœ์ „๋‹ฌํ•˜๊ธฐ (๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ):return ; // props๋กœ 'name'์„ ์ „๋‹ฌ๋ฐ›๊ธฐ (์ž์‹ ์ปดํฌ๋„ŒํŠธ):function Child(props) { console.log(props); // ์ „๋‹ฌ๋ฐ›์€ props ์ถœ๋ ฅ return ์—ฐ๊ฒฐ ์„ฑ๊ณต;}   State ๐Ÿ“state๋ž€?์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ๊ฐ’.UI ๋ฐ˜์˜์„ ์œ„ํ•ด ๊ฐ’์ด ๋ณ€ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ.'hook' ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.๐Ÿ“State ์ƒ์„ฑ ๋ฐฉ๋ฒ•useState()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ state๋ฅผ ์„ ์–ธ..

Language/React 2025. 1. 21. 20:29
[โš›๏ธ] ์นด์šดํ„ฐ ์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

useState์™€ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ด์šฉํ•œ ์นด์šดํ„ฐ ์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ ์‹ค์Šต ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ App.jsx์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.+ 1 ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ์ˆซ์ž๊ฐ€ +1 ์ฆ๊ฐ€ํ•œ๋‹ค.- 1  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ์ˆซ์ž๊ฐ€ - 1 ๊ฐ์†Œํ•œ๋‹ค. ๐Ÿ’ก๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด State๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ํ™”๋ฉด์ด ๋ฆฌ๋ Œ๋”๋ง ๋˜๋Š” ํ˜•์‹   ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ๐Ÿ“๊ธฐ๋ณธ ํ˜•์‹App.jsx์˜ ๊ธฐ๋ณธ ํ˜•์‹์„ ์ค€๋น„ํ•œ๋‹ค.* rafce ์ž…๋ ฅ๋”๋ณด๊ธฐ๋‘ ๊ฐœ์˜ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜์—ฌ ๋‹จ์ถ•ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.import React from "react";const App = () => {return App}export default App;  ๐Ÿ“๊ตฌํ˜„ ๋‹จ๊ณ„ 1. ์ดˆ๊ธฐ๊ฐ’์ด 0์ธ number๋ผ๋Š” State ๋งŒ๋“ค๊ธฐ* useState๋ฅผ import ํ•˜๊ธฐimport React, { us..

Language/React 2025. 1. 21. 12:13
[React ์ž…๋ฌธ Day 1] ์ปดํฌ๋„ŒํŠธ, JSX, ๋ถˆ๋ณ€์„ฑ ๊ฐ„๋‹จ ์ •๋ฆฌ

1. ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋ž€?๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ํ•จ์ˆ˜๋‹ค.์ปดํฌ๋„ŒํŠธ๋Š” ํ™”๋ฉด์— ์–ด๋–ป๊ฒŒ ํ‘œํ˜„๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋ฉฐ, React ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.1-1. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ// props๋ผ๋Š” ์ž…๋ ฅ์„ ๋ฐ›์•„ React ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ฐ˜ํ™˜function Welcome(props) { return Hello, {props.name};}// ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œfunction App() { return hello;}   2. ๋ฆฌ์•กํŠธ ์‹ค์Šต ๋‚ด์šฉ2-1. ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ฐ˜๋“œ์‹œ ๊ฐ€์žฅ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.ํด๋”๋Š” ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ์นด๋ฉœ์ผ€์ด์Šค๋กœ ์ž‘์„ฑํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ํŒŒ์ผ์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ์นด๋ฉœ์ผ€์ด์Šค๋กœ ์ด๋ฆ„์„ ์ง“๋Š”๋‹ค.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ HTML ์•ˆ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ {} ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.=> ๋ฆฌํ„ด๋ฌธ ์ดํ•˜์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ..

Language/React 2025. 1. 20. 23:47
[๐Ÿฆ] ๋‹จ์ถ• ํ‰๊ฐ€ (Short Circuit Evaluation)

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด๋ฌธ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ์ „์ฒด ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์ตœ์†Œํ•œ์˜ ํ‰๊ฐ€๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๋‹จ์ถ• ํ‰๊ฐ€๋Š” ์ฃผ๋กœ && (๋…ผ๋ฆฌ๊ณฑ), || (๋…ผ๋ฆฌํ•ฉ), ?? (null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ๋…ผ๋ฆฌํ•ฉ( || ) ์—ฐ์‚ฐ์ž๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž ||๋Š” ์ขŒ๋ณ€์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ falsy ๊ฐ’(false, 0, "", null, undefined, NaN)์ผ ๋•Œ๋งŒ ์šฐ๋ณ€์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•œ๋‹ค.์ขŒ๋ณ€์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ truthy ๊ฐ’์ผ ๊ฒฝ์šฐ, ๊ทธ ๊ฐ’์ด ๋ฐ”๋กœ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜๋˜๋ฉฐ, ์šฐ๋ณ€์€ ํ‰๊ฐ€๋˜์ง€ ์•Š๋Š”๋‹ค. ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด A || BA๊ฐ€ false๋ผ๋ฉด B๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ ,A๊ฐ€ true๋ผ๋ฉด B๋Š” ๋ฌด์‹œ, A์— ๋งž๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. +) falsyํ•œ ๊ฐ’ : false, 0, "", null, undefined  ๐Ÿ“์˜ˆ์‹œ/..

Language/JavaScript 2025. 1. 20. 17:16
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ