๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ–Œ๏ธWeb (39)

ruriruriya

[React] ๋ฆฌ์•กํŠธ - useState

React์—์„œ useState๋Š” ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ›…(hook)์ด๋‹ค. ์ด ํ›…์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ ๋‚ด์— ์ƒํƒœ(state)๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค.์ƒํƒœ๋ž€ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์˜ ๋ฐ์ดํ„ฐ ๋˜๋Š” ์†์„ฑ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งˆ๋‹ค React๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋งํ•œ๋‹ค. useState ์‚ฌ์šฉ๋ฒ• useState๋Š” ์ดˆ๊ธฐ ์ƒํƒœ ๊ฐ’์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›๊ณ , ์ƒํƒœ ๊ฐ’๊ณผ ๊ทธ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. [useState ๊ธฐ๋ณธ๊ตฌ์กฐ]state: ํ˜„์žฌ ์ƒํƒœ์˜ ๊ฐ’setState: ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ•จ์ˆ˜initialState: ์ƒํƒœ์˜ ์ดˆ๊ธฐ ๊ฐ’const [state, setState] = React.useState(initialState); useState๋Š” 0์„ ์ดˆ๊ธฐ ..

๐Ÿ–Œ๏ธWeb/React 2024. 4. 25. 16:05
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(Arrow Function)

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(arrow function)๋Š” ES6์—์„œ ๋„์ž…๋œ ๋ฌธ๋ฒ•์œผ๋กœ, ํ•จ์ˆ˜๋ฅผ ๋ณด๋‹ค ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ๊ธฐ์กด์˜ function ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์—ฌ๊ธฐ์—์„œ functionName์€ ํ•จ์ˆ˜์˜ ์ด๋ฆ„, parameters๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜, =>๋Š” ํ™”์‚ดํ‘œ ๊ธฐํ˜ธ๋กœ, ์˜ค๋ฅธ์ชฝ์—๋Š” ํ•จ์ˆ˜์˜ ๋ณธ๋ฌธ์ด ์œ„์น˜ํ•œ๋‹ค. const functionName = (parameters) => { // ํ•จ์ˆ˜ ๋ณธ๋ฌธ } ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ํŠน์ง• ๊ฐ„๊ฒฐ์„ฑ: ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” function ํ‚ค์›Œ๋“œ๋ฅผ ์ƒ๋žตํ•˜๊ณ , ํ•จ์ˆ˜ ๋ณธ๋ฌธ์ด ๋‹จ์ผ ํ‘œํ˜„์‹์ธ ๊ฒฝ์šฐ ์ค‘๊ด„ํ˜ธ์™€ return ๋ฌธ์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:์ด ํ•จ์ˆ˜๋Š” a์™€ b๋ฅผ ๋”ํ•œ ๊ฐ’์„ ..

๐Ÿ–Œ๏ธWeb/JavaScript 2024. 4. 23. 16:09
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - ๋ชจ๋“ˆ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์€ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„ํ• ํ•˜๊ณ , ๊ฐ ํŒŒ์ผ์—์„œ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•œ ํ›„ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ , ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์˜ค์—ผ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ES6์—์„œ ๊ณต์‹์ ์œผ๋กœ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, import์™€ export ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋ชจ๋“ˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• export - ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๊ณ  ๋‚ด๋ณด๋‚ด์•ผ ํ•œ๋‹ค. import - ๊ทธ ๋‹ค์Œ, ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ๊ทธ ๊ธฐ๋Šฅ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ๊ธฐ๋Šฅ ๋‚ด๋ณด๋‚ด๊ธฐ [ mathUtils.js ] // ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋ฅผ export ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. export function add(x, y) { return x + y; } export function su..

๐Ÿ–Œ๏ธWeb/JavaScript 2024. 4. 21. 14:03
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - DOM์ด๋ž€?

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ DOM(Document Object Model)์ด๋ž€? HTML ๋ฐ XML ๋ฌธ์„œ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. DOM์€ ๋ฌธ์„œ์˜ ๊ตฌ์กฐ์  ํ‘œํ˜„์„ ์ œ๊ณตํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌธ์„œ ๊ตฌ์กฐ, ์Šคํƒ€์ผ ๋ฐ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์›น ํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ Œ๋”๋งํ•  ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ๋ฌธ์„œ๋ฅผ DOM์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด DOM์€ ๋ฌธ์„œ์˜ ๋ชจ๋“  ์š”์†Œ, ์†์„ฑ ๋ฐ ํ…์ŠคํŠธ๋ฅผ ๋…ธ๋“œ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ„์ธต์ ์ธ ํŠธ๋ฆฌ ๊ตฌ์กฐ์ด๋‹ค. DOM์˜ ์ฃผ์š” ๊ฐœ๋… 1. ๋…ธ๋“œ DOM์˜ ๊ธฐ๋ณธ ์š”์†Œ๋กœ, ๋ฌธ์„œ์˜ ๋ชจ๋“  ๋ถ€๋ถ„(์š”์†Œ, ์†์„ฑ, ํ…์ŠคํŠธ ๋“ฑ)์ด ๋…ธ๋“œ์ด๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด๋Ÿฐ ๊ด€๊ณ„๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ํ‘œํ˜„๋œ๋‹ค. 2. ์š”์†Œ ๋…ธ๋“œ HTML ํƒœ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๋…ธ๋“œ๋กœ , , ๋“ฑ์ด ์žˆ๋‹ค. ์š”์†Œ ๋…ธ๋“œ๋Š” ์†์„ฑ ๋…ธ๋“œ์™€ ํ…์ŠคํŠธ ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ..

๐Ÿ–Œ๏ธWeb/JavaScript 2024. 4. 21. 13:51