๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€92

โœ… ๋ฐฐ์—ด ๋‚ด์žฅ ํ•จ์ˆ˜(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ) forEach : for๋ฌธ ๋Œ€์ฒด, ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์›์†Œ๋“ค์„ ๋ชจ๋‘ ์ถœ๋ ฅ const superheroes = ['์•„์ด์–ธ๋งจ', '์บกํ‹ด ์•„๋ฉ”๋ฆฌ์นด', 'ํ† ๋ฅด', '๋‹ฅํ„ฐ ์ŠคํŠธ๋ ˆ์ธ์ง€']; //for๋ฌธ์œผ๋กœ ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์›์†Œ ์ถœ๋ ฅ for (let i=0; i { console.log(hero); }); - forEach ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ ์›์†Œ์— ๋Œ€ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ์€ ์ฝ”๋“œ๋ฅผ ํ•จ์ˆ˜๋กœ ๋„ฃ์–ด์คŒ - ์ฝœ๋ฐฑํ•จ์ˆ˜: ํ•จ์ˆ˜ํ˜•ํƒœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ map : ๋ฐฐ์—ด ์•ˆ์˜ ๊ฐ ์›์†Œ๋ฅผ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ง const array = [1,2,3,4,5,6,7,8]; const squared = []; //for๋ฌธ ์ด์šฉ for (let i=0; i { squared.push(n*n); }); console.. 2022. 11. 17.
๋ฆฌ์•กํŠธ์˜ ๋ฐฐ์—ด ๋ฐฐ์—ด์— ํ•ญ๋ชฉ ์ถ”๊ฐ€ : ๋ฐฐ์—ด์— ๋ณ€ํ™”๋ฅผ ์ค„ ๋•Œ, ๊ฐ์ฒด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถˆ๋ณ€์„ฑ์„ ์ง€์ผœ์ฃผ์–ด์•ผ ํ•จ โžฃ ๊ธฐ์กด์˜ ๋ฐฐ์—ด์„ ํ•œ ๋ฒˆ ๋ณต์‚ฌํ•˜๊ณ  ๋‚˜์„œ ์‚ฌ์šฉ App์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ๊ด€๋ฆฌํ•˜๊ณ , CreateUser์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” input๊ฐ’ ๋ฐ ์ด๋ฒคํŠธ๋กœ ๋“ฑ๋กํ•  ํ•จ์ˆ˜๋“ค์„ props๋กœ ๋„˜๊ฒจ๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ import React from "react"; function CreateUser({ username, email, onChange, onCreate }) { return ( ๋“ฑ๋ก ); } export default CreateUser; 1. spread ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ import React, { useRef, useState } from "react"; import UserList from "./UserList"; import Crea.. 2022. 11. 17.
useRef useRef useRef๋กœ ํŠน์ • DOM ์„ ํƒํ•˜๊ธฐ โ˜… DOM(๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ): XML์ด๋‚˜ HTML๋ฌธ์„œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์ธํ„ฐํŽ˜์ด์Šค, ์ด ๊ฐ์ฒด ๋ชจ๋ธ์€ ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํŠน์ • DOM์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์— getElementById, querySelector ๊ฐ™์€ DOM. Selector ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ DOM ์„ ํƒ ๋ฆฌ์•กํŠธ์—์„œ๋Š” ref์‚ฌ์šฉ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ: useRef๋ผ๋Š” Hook ํ•จ์ˆ˜ ์‚ฌ์šฉ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ: ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ React.createRef๋ผ๋Š” ํ•จ์ˆ˜ ์‚ฌ์šฉ useRef์‚ฌ์šฉ ์ด์œ  ๊ฐ’ ์ €์žฅ: ํ˜„์žฌ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ฐ’์„ ๋ฆฌ๋ Œ๋”๋ง ์—†์ด ์ €์žฅ DOM ์ฐธ์กฐ: DOM์ฐธ์กฐ๊ฐ€๋Šฅ, ํ˜„์žฌ DOM์—์„œ element์˜ scroll์œ„์น˜, ima.. 2022. 11. 16.
๋ฆฌ์•กํŠธ Hooks - ๋ฆฌ์•กํŠธ 16.8 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ, ๋ฆฌ์•กํŠธ 16.8์—์„œ Hooks๋ผ๋Š” ๊ธฐ๋Šฅ์ด ๋„์ž…๋˜๋ฉด์„œ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ์ƒํƒœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ ์ด๋ฒคํŠธ ์„ค์ • import React from "react"; function Counter() { const onIncrease = () => { console.log("+1"); }; const onDecrease = () => { console.log("-1"); }; return ( 0 +1 -1 ); } export default Counter; - ์ด๋ฒคํŠธ ์„ค์ •ํ•ด์ค„ ๋•Œ, on์ด๋ฒคํŠธ์ด๋ฆ„={์‹คํ–‰ํ•˜๊ณ ์‹ถ์€ํ•จ์ˆ˜} ํ˜•ํƒœ๋กœ ์„ค์ • import React from "react"; import Counter from "./Counter.. 2022. 11. 15.