์ฐธ๊ณ ์ฌ์ดํธ • React ๊ณต์ ๋ฌธ์ - useRef ๐ชฃ useRef ๋ ๋๋ง์ด ํ์ํ์ง ์์ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋ React Hook์ด๋ค. useRef๋ .current ํ๋กํผํฐ๋ก ์ ๋ฌ๋ ์ธ์(initialValue)๋ก ์ด๊ธฐํ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ref ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ๋ฐํ๋ ๊ฐ์ฒด๋ ์ปดํฌ๋ํธ์ ์ ์์ ์ฃผ๊ธฐ๋ฅผ ํตํด ์ ์ง๋๋ค. ๐ฆ Parameter • initialValue: ์ด๊ธฐ์ ์ ์ฅ๋๋ ๊ฐ์ ๋ฃ์ผ๋ฉฐ, ๋ชจ๋ ์ ํ์ ๊ฐ์ด(lite, DOM...)์ด ๋ ์ ์๋ค. ์ด ์ธ์๋ ์ด๊ธฐ ๋ ๋๋ง ํ์ ๋ฌด์๋๋ค. ๐ Return useRef๋ ๋จ์ผ ์์ฑ์ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. {current: value} • current: initialValue๊ฐ์ด ๋ค์ด๊ฐ ์์ผ๋ฉฐ null์ ์ฌ์ฉํด๋ ๋๋ค. ํฅํ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ค์ ํ ์ ..
์ ์ฒด ๊ธ
๊ฐ๋ฐ์ผ์ง ๋ฐ ์ ๋ณด ๊ณต์์ฐธ๊ณ ์ฌ์ดํธ • gofo-coding๋์ ํฐ์คํ ๋ฆฌ ๐ฟ OpenGL Open Graphics Library๋ก, Graphics ํ๋ก๊ทธ๋๋ฐ์ ์ํ API์
๋๋ค. (Library ์ด๋ฆ๊ณผ ๋ฌ๋ฆฌ API์ด๋ค.) ๋๋ณด๊ธฐ ๐ Library • Collection of functions, pre-compiled routines or reusable components of code → ์ฝ๋๋ฅผ ๋ชจ์๋์ ๊ฒ • ์ฝ๋์ ๋ฐ๋ณต์ ์ค์ด๊ณ ์ฌ์ฌ์ฉ ํ ์ ์๊ฒ ํ๋ค. • ํ๋ก๊ทธ๋๋ฐ ์๋๋ฅผ ๋จ์ถํ ์ ์๋ค. ๐ API • Collection of software protocols → ์ธํฐํ์ด์ค๋ฅผ ๋ชจ์๋์ ๊ณณ • ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ง๋ค์ด์ ธ์์ ์ ์๋ค. • ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ๋ค๋ฅธ Utility Library๊ฐ ํ์ OS๋ OpenG..
์ฐธ๊ณ ์ฌ์ดํธ • ์๋
์ฝ๋ฉ๋์ ํฐ์คํ ๋ฆฌ ๐ซต๐ป ํฌ์ธํฐ ๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด๋ผ๊ณ ์์ ๊ฒ์๊ธ์์ ์ค๋ช
ํ์๋ค. ์ด๋, ๋ด๊ธฐ๋ ๊ณต๊ฐ์ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ฉฐ, ํด๋น ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ด๋์ ์์นํด์๋์ง ์ฃผ์๊ฐ์ ๊ฐ์ง๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ณ์๊ฐ ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ ์ฃผ์๊ฐ์ ์ ์ฅํ๋ ๋ณ์๋ฅผ ํฌ์ธํฐ๋ผ๊ณ ํ๋ค. โญ ํฌ์ธํฐ ์ ์ธ ํฌ์ธํฐ ๋ณ์๋ ์ผ๋ฐ ๋ณ์์ฒ๋ผ ์ ์ธ๋๋ฉฐ, ์๋ฃํ๊ณผ ๋ณ์ ์ด๋ฆ ๋๋ ๊ทธ ์ฌ์ด์ ( * )์ด ๋ถ๋๋ค. #include using namespace std; int main() { int v = 10; //๋ฐฉ๋ฒ1 int* p_x = &v; //๋ฐฉ๋ฒ2 int * p_y = &v; //๋ฐฉ๋ฒ3 int *p_z = &v; // ์ฌ๋ฌ ํฌ์ธํธ ์ ์ธ ์, int *p1, *p2, *p3, p4 //์ด๋, p..
์ฐธ๊ณ ์ฌ์ดํธ • banaba๋์ ํฐ์คํ ๋ฆฌ • min-zero๋์ ํฐ์คํ ๋ฆฌ ๐ชฃ ๋ณ์ ๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ์ฆ , ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด ๋ณ์์ด๋ค. ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ ์ธ(declaration)๊ณผ ์ ์(definition)์ ํด์ผํ๋ค. ์ฉ์ด ์ค๋ช
์ ์ธ (declaration) *์ปดํ์ผ๋ฌ๊ฐ ์ฐธ์กฐํ *์๋ณ์(identifier)์ ์ด๋ฆ์ ์๋ ค์ฃผ๋ ๊ฒ. ์ ์ธ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์์ ์ฌ๋ฆฌ์ง ์์ ์ค๋ณต๋์ด๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ผ๋ฉฐ ๋ ๋ฒ ์ด์ ํ ์ ์๋ค. ์ ์ (definition) ์๋ณ์์ ์ด๋ฆ์ ํตํด ํ์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค. ํธ์ถ๋์์ ๋, ์คํ๋ ์ฝ๋๋ค์ด ์์ฑ๋๋ฏ๋ก ํด๋น ๊ธฐ๋ฅ ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ฉฐ, ์ ์ธํ ์ด๋ฆ์ ํจ์, ๋ณ์, ํด๋์ค๋ฑ์ด ์ด๋ ํ ๋์์ ํ ๊ฒ์ธ์ง ์๋ ค์ฃผ๋ ๊ฒ...
๐ useEffect useEffect()๋ ํ์ด์ง์ ๋ง์ดํธ, ์ธ๋ง์ดํธ, ์
๋ฐ์ดํธ ์ ์์
์ ์ค์ ํ๋ค. ์ฉ์ด ์ค๋ช
Mount ์ปดํฌ๋ํธ๊ฐ ํ์ด์ง์ ๋ํ๋จ unMount ์ปดํฌ๋ํธ๊ฐ ํ์ด์ง์์ ์ฌ๋ผ์ง ์
๋ฐ์ดํธ๋ useEffect() ํน์ ๊ฐ์ ์์กดํ์ฌ ํด๋น ๊ฐ์ด ๋ณ๊ฒฝ, ์คํ๋๋ฉด ํด๋น useEffect()๋ฅผ ์ฌ์คํํ๋ค. useEffect()์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. useEffect(()=> { // ๋ง์ดํธ ์๋ฃ ํ ์คํํ ์ฝ๋ return () => { // ์ธ๋ง์ดํธ ์๋ฃ ํ ์คํํ ์ฝ๋ } }, [dependencies]) ๐ป Code ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๋ค. ๐ EffectComponent.tsx import React, { useEffect, useState } from 'react..
๐จ๐ป๐ผ useState ํน์ ๊ฐ์ useState()๋ก ์ ์ธํ์ฌ์ ๊ฐ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , ํด๋น ๊ฐ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ํ๋ฉด์ ๋ฆฌ๋ ๋๋งํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด์ฌ์ค๋ค. ์ด๋, ๋ฆฌ๋ ๋๋ง์ด ์ผ์ด๋๋ ์ปดํฌ๋ํธ์ ์์ ์ปดํฌ๋ํธ๊ฐ ์๋ค๋ฉด, ์์ ์ปดํฌ๋ํธ ๋ํ ๋ค์ ๋ถ๋ฌ์์ง๋ฉด์ ์์ ์ปดํฌ๋ํธ๊น์ง ๋ฆฌ๋ ๋๋ง ๋ฉ๋๋ค. ๐ป Code ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ , ๋ค์ ํ์ผ์ ๋ง๋ค์ด์ค๋ค. ๐ StateComponent.tsx import React, { useState } from 'react' export function StateComponent(): JSX.Element { const [num, setNum] = useState(0) const onIncrease = () => setNum(num + 1) const onDec..
์์ฑ์ ๊ฐ๋ฐ ํ๊ฒฝ โ
VScode โ
Mac or Windows ๐ ๏ธ ๋ฆฌ์กํธ ํ๋ก์ ํธ ์์ฑ (CRA) CRA๋ Create-React-App์ ์ฝ์๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋งํ๋ค. ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ช
๋ น ํ๋กฌํํธ(CMD) ํน์ >_ Terminal ์ ์ด์ด์ค๋ค. ๊ทธ ๋ค์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ค. $ npx create-react-app ์ .์ ๋ฃ์ผ๋ฉด ํ์ฌ ๊ฒฝ๋ก์ ๋ฆฌ์กํธ ํ๋ก์ ํธ๊ฐ ์์ฑ๋๊ณ , ์ ๋ฌธ์๋ฅผ ์์ฑํ๋ฉด ํด๋น ๋ฌธ์๋ฅผ ํด๋๋ช
์ผ๋ก ํ๋ ํด๋๋ฅผ ์์ฑํ์ฌ ๊ทธ ์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค. ๋ ํด๋น ํ๋ก์ ํธ์ ์ต์
์ ๋ถ๊ฐํ๋ค. --template typescript๋ฅผ ์์ฑํ๋ฉด ํ์
์คํฌ๋ฆฝํธ์ ํ๋ก์ ํธ๊ฐ ์์ฑ๋๋ค. ์๋ฌด๊ฒ๋ ์์ฑํ์ง ์์ ์ default๋ก JavaScript ํ๋ก์ ํธ๋ฅผ ..
๐ ๋ฆฌ์กํธ ๋ฉํ์์ ๊ฐ๋ฐํ ์คํ ์์ค ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ํ์ด์ง ์ ํ ๋ฐ ์ฌ์ฉ์ UI ๋ถ๋ถ์์ ์๋นํ ๋ถ๋๋ฝ๊ฒ ์๋ํ๊ธฐ ๋๋ฌธ์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. ๋๋ html์ ํจ์, array, object์ ๋ณด๊ดํ์ฌ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ฌ ํฐ ํ๋ก์ ํธ์ผ์๋ก html ๊ด๋ฆฌ๊ฐ ํธํด์ง๋ค. https://ko.legacy.reactjs.org/ React – ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ A JavaScript library for building user interfaces ko.legacy.reactjs.org โฌ๏ธ Install ๋ฆฌ์กํธ ๊ฐ๋ฐ์ ํ๊ธฐ ์ํด์ nodejs๋ฅผ ์ค์นํด์ผํ๋ค. ์ค์น๊ฐ ๋์ด์๋์ง ํ์ธํ๊ธฐ ์ํด์ ๋ช
๋ น ํ๋กฌํํธ(CMD)๋ฅผ ์ด์ด์ ์๋์ ๊ฐ์ด ์์ฑํ๋ค. ..