[React] props

    1. props๋ž€? React์—์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. React์˜ Data Flow๋Š” ๋‹จ๋ฐฉํ–ฅ ํ˜•์‹์œผ๋กœ ๋ถ€๋ชจ์—๊ฒŒ์„œ ์ž์‹์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๊พธ๋กœ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ, props์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์˜ค์ง ์•ˆ์— ์žˆ๋Š” ๊ฐ’์„ ๊บผ๋‚ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋งŒ ์žˆ๋‹ค. 2. props ์‚ฌ์šฉ ์˜ˆ์‹œ 2-1. Hello ์ปดํฌ๋„ŒํŠธ์—์„œ name ๊ฐ’ ์‚ฌ์šฉํ•˜๊ธฐ ๐ŸŒ  App.js import React from 'react'; import Hello from './Hello'; function App() { return ( ); } export default App; ๐ŸŒ  Hello.js import React from "react"; function Hello(props) { re..

    [React] useEffect

    1. useEffect ํ•จ์ˆ˜๋ž€? React ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋  ๋•Œ๋งˆ๋‹ค ํŠน์ • ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” Hook 2. useEffect ์‚ฌ์šฉ๋ฒ• ๐Ÿ”น ์ฒซ ๋ฒˆ์งธ useEffect(() => {}); useEffect์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ ํ˜•ํƒœ์ด๋‚˜, ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. Dependency๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์ž‘์€ ์š”์†Œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ๋ณ€ํ™”ํ•  ๋•Œ๋งˆ๋‹ค useEffect๊ฐ€ ๋ฐœ๋™๋˜์–ด ๋ถˆํ•„์š”ํ•œ ์‹คํ–‰์ด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๐Ÿ”น ๋‘ ๋ฒˆ์งธ useEffect(() => {}, []); useEffect์—์„œ ์„ค์ •ํ•œ ํ•จ์ˆ˜๊ฐ€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๊ฐ€์žฅ ์ฒ˜์Œ ๋ Œ๋”๋ง ๋  ๋•Œ๋งŒ ์‹คํ–‰ํ•œ๋‹ค. ๐Ÿ”น ์„ธ ๋ฒˆ์งธ useEffect(() => {}, [name]); useEffect๋ฅผ ํŠน์ • ๊ฐ’์ด ์—…๋ฐ์ดํŠธ ๋  ๋•Œ ํ˜ธ์ถœํ•œ๋‹ค. useEffect๋ฅผ ๋ Œ๋”๋ง ํ›„ ํ•œ๋ฒˆ, ๊ทธ๋ฆฌ๊ณ ..

    [React] ๋ฆฌ์•กํŠธ ์‹œ์ž‘ํ•˜๊ธฐ

    ๐ŸŽฏ ๋ฆฌ์•กํŠธ ์„ค์น˜ ๋ฐ ์…‹ํŒ… ๋ช…๋ น์–ด 1. Node.js ๊ฒ€์ƒ‰ ํ›„ ์ตœ์‹ ๋ฒ„์ „์„ ์„ค์น˜ํ•œ๋‹ค. 2. Visual Studio Code ์—๋””ํ„ฐ๋ฅผ ์„ค์น˜ํ•œ๋‹ค. 3. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํด๋”๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ์—๋””ํ„ฐ์—์„œ ์ž‘์—…ํด๋”๋ฅผ Open Folder ํ•œ๋‹ค. 4. ํ„ฐ๋ฏธ๋„์—์„œ npx create-react-app ํ”„๋กœ์ ํŠธ๋ช…์„ ์ž…๋ ฅํ•ด์„œ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 5. cd ํ”„๋กœ์ ํŠธ๋ช…(ํด๋”) ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ช…์˜ ํ•˜์œ„ํด๋”๋กœ ์ด๋™ํ•œ๋‹ค. 6. ์ฝ”๋“œ ์ž‘์„ฑ ํ›„, ํ„ฐ๋ฏธ๋„์—์„œ npm start๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๐ŸŽฏ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ›„ ์ •๋ฆฌ ๋ฐ ํ™•์ธํ•  ํŒŒ์ผ 1. public ํด๋” > logo.png, manifest.json ์‚ญ์ œ 2. src ํด๋” > App.js์—์„œ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋กœ๋“œ ํ›„ ์‚ฌ์šฉ ๐ŸŽฏ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ git rep..

    [React] ์ปดํฌ๋„ŒํŠธ์™€ state

    1. Component ์ปดํฌ๋„ŒํŠธ(Component)๋ž€, ๋ฆฌ์•กํŠธ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ, UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐœ๋ณ„์ ์ธ ๋ทฐ ๋‹จ์œ„์ด๋‹ค. ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋ณต์žกํ•œ ํ™”๋ฉด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” JavaScript์˜ ํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋œ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์€ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค. (์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค: ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ฐ์–ด๋‚ด๋Š” ๊ณต์žฅ) 2. State setState(): ์ปดํฌ๋„ŒํŠธ์˜ state ๊ฐ์ฒด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. state๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด, ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฆฌ๋ Œ๋”๋ง๋œ๋‹ค. state๋Š” ๋™์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์œผ๋กœ, Hooks์ค‘ ํ•˜๋‚˜์ธ useState๋ฅผ ํ†ตํ•ด ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. state๋Š” ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์ปดํฌ๋„ŒํŠธ์— ์ „๋‹ฌ๋˜๋Š” props์™€ ๋‹ฌ๋ฆฌ, ํ•จ์ˆ˜ ๋‚ด์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์ปดํฌ๋„Œ..