728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 1364

[React] React.useState

โœ… React.useState๋ž€?useState๋Š” React ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ ๊ฐ’์„ ์„ ์–ธํ•˜๊ณ  ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.๐Ÿ“ฆ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•const [state, setState] = React.useState(์ดˆ๊ธฐ๊ฐ’);๊ตฌ์„ฑ :ํ•ญ๋ชฉ์„ค๋ช…stateํ˜„์žฌ ์ƒํƒœ ๊ฐ’setState์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ•จ์ˆ˜์ดˆ๊ธฐ๊ฐ’state์˜ ์ดˆ๊ธฐ๊ฐ’ (์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ฐฐ์—ด, ๊ฐ์ฒด ๋“ฑ ๊ฐ€๋Šฅ) ๐Ÿงช ์˜ˆ์ œimport React from 'react';function Counter() { const [count, setCount] = React.useState(0); // ์ดˆ๊ธฐ๊ฐ’ 0 return ( ํ˜„์žฌ ์นด์šดํŠธ: {count} setCount(count + 1)}>+1 );}๊ฒฐ๊ณผ:์ดˆ๊ธฐ ์ƒํƒœ co..

Front/React 2025.06.15

[js] ๊ฐ์ฒด์˜ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น

const user = { name: "Alice", age: 25 };const { name, age } = user;console.log(name); // "Alice"console.log(age); // 25๊ฐ์ฒด๋Š” ํ‚ค ์ด๋ฆ„ ๊ธฐ์ค€์œผ๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋• ์ด๋ ‡๊ฒŒ ์”๋‹ˆ๋‹ค:const { name: userName } = user;console.log(userName); // "Alice"

Front/JS & jQuery 2025.06.13

[js] ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น

const arr = [10, 20, 30];const [a, b, c] = arr;console.log(a); // 10console.log(b); // 20console.log(c); // 30 ๋ฐฐ์—ด์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ณ€์ˆ˜์— ๊ฐ’์ด ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.ํ•„์š” ์—†๋Š” ๊ฐ’์€ ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ์–ด์š”:const [x, , z] = [1, 2, 3];console.log(x, z); // 1 3

Front/JS & jQuery 2025.06.12

JSX๋ž€

โœ… JSX๋ž€?JSX (JavaScript XML) ๋Š” JavaScript ์•ˆ์—์„œ HTML์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค.์ฃผ๋กœ React์—์„œ UI๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๐Ÿ“Œ ์ •์˜: JSX๋Š” JavaScript์— XML/HTML ๋ฌธ๋ฒ•์„ ๊ฒฐํ•ฉํ•œ ํ™•์žฅ ๋ฌธ๋ฒ•(Syntax Extension)๐Ÿงฉ ์™œ JSX๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?React๋Š” UI๋ฅผ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ, JSX๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•ด์ค๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด:jsxconst element = Hello, world!;์œ„ ์ฝ”๋“œ๋Š” ๋ณด๊ธฐ์—” HTML ๊ฐ™์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” JavaScript ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.Babel ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์ด ์ฝ”๋“œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค:jsconst element = React.createElement('h1', null, 'Hello, worl..

IT์ง€์‹ 2025.06.11

Babel ์ด๋ž€

โœ… Babel์ด๋ž€?Babel์€ JavaScript ์ปดํŒŒ์ผ๋Ÿฌ๋กœ, ์ตœ์‹  JavaScript ๋ฌธ๋ฒ•์„ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํ™˜๊ฒฝ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ๋ฒ„์ „ JavaScript ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.๐Ÿ”ง ์™œ Babel์ด ํ•„์š”ํ•œ๊ฐ€?๋ฌธ์ œ:์ตœ์‹  JavaScript(์˜ˆ: ES6+, ES2020 ๋“ฑ)๋Š” ์˜ค๋ž˜๋œ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํ™˜๊ฒฝ์—์„œ ์ง€์›๋˜์ง€ ์•Š์Œ์˜ˆ๋ฅผ ๋“ค์–ด, async/await, let, const, class, import/export, optional chaining ๊ฐ™์€ ๋ฌธ๋ฒ•์€ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜์ง€ ์•Š์Œํ•ด๊ฒฐ:**Babel์ด ์ด ๋ฌธ๋ฒ•๋“ค์„ ๊ตฌ๋ฒ„์ „ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜(transpile)**ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์คŒ๐Ÿ“ฆ Babel ์ฃผ์š” ๊ธฐ๋Šฅ๊ธฐ๋Šฅ์„ค๋ช…์ฝ”๋“œ ํŠธ๋žœ์ŠคํŒŒ์ผ์ตœ์‹  JS → ES5 ์Šคํƒ€์ผ๋กœ ๋ณ€ํ™˜ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ..

IT์ง€์‹ 2025.06.10

[React] React.createElement

React.createElementReact์˜ ํ•ต์‹ฌ ํ•จ์ˆ˜๋กœ, ์ƒˆ๋กœ์šด React ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.JSX๋Š” ์ด ํ•จ์ˆ˜๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๋Š” JSX()๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ,๋™์  ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ์ด๋‚˜ JSX๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ Hello์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .React.createElement( type, [props], [...children])type: ๋ฌธ์ž์—ด(์˜ˆ: 'div') ๋˜๋Š” React ๊ตฌ์„ฑ ์š”์†Œ.props: ์š”์†Œ์— ์„ค์ •ํ•  ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.children: ์ž์‹์€ ๋ฌธ์ž์—ด, React ์š”์†Œ ๋˜๋Š” ์ด๋“ค์˜ ๋ฐฐ์—ด์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐœ์ˆ˜์— ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.์˜ˆ 1: ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•jsxconst element = Hello, world!;๋‹ค์Œ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค React.createEl..

Front/React 2025.06.09

[React] React์™€ ReactDOM

React์™€ ReactDOM์€ React ์ƒํƒœ๊ณ„์˜ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.์ด ๋‘˜์€ ๋ชฉ์ ์ด ๋‹ค๋ฅด๋ฉฐ, ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์ง€๋งŒ ์—ญํ• ์ด ๋ช…ํ™•ํžˆ ๋‚˜๋‰˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.๐Ÿ”น Reactโœ… ์—ญํ• React๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.์ฆ‰, UI๋ฅผ ์ •์˜ํ•˜๊ณ  ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.โœ… ์ฃผ์š” ๊ธฐ๋ŠฅReact.createElement(): React ์—˜๋ฆฌ๋จผํŠธ ์ƒ์„ฑuseState, useEffect ๋“ฑ ํ›… ์ œ๊ณตJSX ๋ฌธ๋ฒ•์„ ํ•ด์„ํ•  ๊ธฐ๋ฐ˜ ์ œ๊ณต์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ๋“ฑ ์ •์˜โœ… ์˜ˆ์‹œjsximport React, { useState } from 'react';function Counter() { const [count, setCount] = useState(0); return setCount(count + 1..

Front/React 2025.06.08

IntelliJ์—์„œ ์ •์˜๋กœ ์ด๋™

๐Ÿ”น ๋‹จ์ถ•ํ‚ค:๊ธฐ๋Šฅ Windows/LinuxmacOS์ •์˜๋กœ ์ด๋™ (Go to Definition)Ctrl + B ๋˜๋Š” Ctrl + ClickCmd + B ๋˜๋Š” Cmd + Click์„ ์–ธ์œผ๋กœ ์ด๋™ (Go to Declaration)Ctrl + B ๋˜๋Š” Ctrl + ClickCmd + B ๋˜๋Š” Cmd + Click๊ตฌํ˜„์œผ๋กœ ์ด๋™ (Go to Implementation)Ctrl + Alt + BCmd + Alt + B ๐Ÿ‘€ ์ธ๋ผ์ธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (Quick Definition)๐Ÿ”น ๋‹จ์ถ•ํ‚ค:๊ธฐ๋ŠฅWindows/LinuxmacOS์ •์˜ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (Quick Definition)Ctrl + Shift + ICmd + Y ๋˜๋Š” Cmd + Shift + I ์˜ˆ: ํ•จ์ˆ˜ ์ด๋ฆ„ ์œ„์— ์ปค์„œ๋ฅผ ๋‘๊ณ  ์ด ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ํŒ์—…์ฐฝ์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜๊ฐ€..

IT์ง€์‹ 2025.06.07

Visual Studio Code F12 / ์ •์˜๋กœ ์ด๋™์ด๋ž€ ?

**“์ •์˜๋กœ ์ด๋™(Go to Definition)”**์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•จ์ˆ˜, ๋ณ€์ˆ˜, ํด๋ž˜์Šค ๋“ฑ ์‹๋ณ„์ž์˜ ์„ ์–ธ ์œ„์น˜๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ์ด์—์š”. function sayHello() { console.log("Hello!");}sayHello(); // ์ปค์„œ๋ฅผ ์—ฌ๊ธฐ ๋‘๊ณ  F12 ๋ˆ„๋ฅด๋ฉด... sayHello();์— ์ปค์„œ๋ฅผ ๋‘๊ณ  F12๋ฅผ ๋ˆ„๋ฅด๋ฉด์œ„์— ์„ ์–ธ๋œ function sayHello() { ... }๋กœ ์ž๋™์œผ๋กœ ์ ํ”„ํ•ฉ๋‹ˆ๋‹ค.โœ… ์ด ๊ธฐ๋Šฅ์ด ์™œ ์œ ์šฉํ• ๊นŒ?์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š”.๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ๋ชจ๋“ˆ์—์„œ ์ •์˜๋œ ๋‚ด์šฉ์„ ์ถ”์ ํ•  ๋•Œ ํ•„์ˆ˜์˜ˆ์š”.ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜์˜ ์ •์˜ ์œ„์น˜๋ฅผ ์ฐพ๋А๋ผ ์Šคํฌ๋กคํ•  ํ•„์š”๊ฐ€ ์—†์Œ.๐Ÿ’ก ํŒ:F12: ์ •์˜๋กœ ์ด๋™Alt + F12: ์ •์˜๋ฅผ ์ธ๋ผ์ธ์œผ๋กœ ๋ฏธ๋ฆฌ ๋ณด๊ธฐCtrl + Click / Cmd + Cl..

IT์ง€์‹ 2025.06.06
728x90
๋ฐ˜์‘ํ˜•