React/2022-ไธ
Conditional-rendering(์กฐ๊ฑด๋ถ ๋ ๋๋ง) Conditional-rendering(์กฐ๊ฑด๋ถ ๋ ๋๋ง)๋? ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง ํ๋ ๊ฒ ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๊ฐ ๋ก๋ฉ ์ค ์ผ ๋, ๋ฐ์ดํฐ๊ฐ ์์๋ ๋ฑ๋ฑ ๋ค์ํ ์ํฉ์์ ์กฐ๊ฑด์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง ํ ๋ ์ฌ์ฉ ๊ธฐ๋ณธ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ณตํ๋ ์กฐ๊ฑด๋ฌธ์ธ if/else, switch/case ๋ฑ์ด ์์ ์กฐ๊ฑด๋ถ ๋ ๋๋ง ๋ฐฉ๋ฒ โ if / else ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ ์ปดํฌ๋ํธ props ๊ฐ์ ๋ฐ๋ผ ๋ฆฌํดํ๋ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๊ธฐ ์ฒ๋ฆฌํจ โก switch / case ์กฐ๊ฑด์ด ๋ค์ํ ๋ ์ฌ์ฉ โข ๋
ผ๋ฆฌ ์ฐ์ฐ์(&&) ๋
ผ๋ฆฌ ์ฐ์ฐ์ &&๋ฅผ ์ฌ์ฉ โ โ data๊ฐ ์ฐธ์ผ ๋ : && ๋ค์ data.fetchProduct๊ฐ ๋ ๋๋ง ๋จ โ โ dat..
React/2022-ไธ
Static, Dynamic Routing Routing ์ด๋? ๋ชฉ์ ์ง๊น์ง ๊ฐ ์ ์๋ ์ฌ๋ฌ ๊ฒฝ๋ก ์ค ํ๊ฐ์ง ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ฃผ๋ ๊ณผ์ ์ ์๋ฏธ ๋ผ์ฐํฐ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ํ์ด์ง๋ฅผ ์ด๋ํ๋ ๊ฒ โ ๋ผ์ฐํฐ ๊ฐ์ฒด : ํ์ด์ง ์ด๋๊ณผ ์ฐ๊ด๋ ๊ฐ์ฒด ๋ผ์ฐํ
์ ์ข
๋ฅ์๋ Static Routing(์ ์ ๋ผ์ฐํ
)๊ณผ Dynamic Routing(๋์ ๋ผ์ฐํ
)์ด ์์ React์์ router๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์์ ๊ฐ์ด useRouter๋ฅผ ์ฌ์ฉํด์ผ ํจ ์ด๋ react-hooks ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ ๋ป Router ๊ฐ์ฒด์ ์ข
๋ฅ router.push("์ด๋ํ ํ์ด์ง") : ์ง์ ํ์ด์ง๋ก ์ด๋ router.replace("์ด๋ํ ํ์ด์ง") : ์ง์ ํ์ด์ง๋ก ์ด๋ํ๋, ํ์ฌ ํ์ด์ง ๊ธฐ๋ก์ ์ ์ฅํ์ง์์ router.back() : ์ด์ ํ์ด..
React/2022-ไธ
try ~ catch try ~ catch๋... ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ฉด ์คํฌ๋ฆฝํธ๋ ์ฆ์ ์ค๋จ๋๊ณ , ์ฝ์์ ์๋ฌ๊ฐ ์ถ๋ ฅ๋์ง๋ง, try ~ catch ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ฉด ์คํฌ๋ฆฝํธ๊ฐ ์ฆ์ ์ค๋จ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ์๋ฌ๋ฅผ ์ก์์(catch) ๋ ํฉ๋นํ ๋ฌด์ธ๊ฐ๋ฅผ ํ ์ ์๊ฒ ํจ try ~ catch ๋์ ๋จผ์ , try { } ์์ ์ฝ๋๊ฐ ์คํ๋จ ์๋ฌ๊ฐ ์๋ค๋ฉด, try ์์ ๋ง์ง๋ง ์ค๊น์ง ์คํ๋๊ณ , catch ๋ธ๋ก์ ๊ฑด๋๋ ์๋ฌ๊ฐ ์๋ค๋ฉด, try ์ ์ฝ๋์ ์คํ์ด ์ค๋จ๋๊ณ , catch(error) ๋ธ๋ก์ผ๋ก ์ ์ด ํ๋ฆ์ด ๋์ด๊ฐ ๋ฐ๋ผ์, try { } ๋ธ๋ก ์์์ ์๋ฌ๊ฐ ๋ฐ์ํด๋, catch์์ ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์คํฌ๋ฆฝํธ๋ ์ค๋จ๋์ง ์์ โป ๋ณ์ error(์ด๋ค ์ด๋ฆ์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ)๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง์ ๋ํ ์ค..
React/2022-ไธ
Async / Await Async / Await ๋? Promise๋ฅผ ํตํด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง, Promise์ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ES7์์ async / await ํค์๋๊ฐ ์ถ๊ฐ๋จ async / await ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ๋ง์น ๋๊ธฐ ์ฝ๋์ฒ๋ผ ๋ณด์ด๊ฒ ์์ฑํ ์ ์์ callback์ด๋ promise์ ๊ฐ์ด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ์๋ก์ด ๋ฐฉ๋ฒ async๋ ํจ์ ์ด๋ฆ์ ์ ์ผ ์์, await์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆด ํจ์ ์์ ์์ฑํจ async๋ ํจ์์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํ promise ๋์์ ํจ await์ ํธ์ถ๋๋ ํจ์๊ฐ ์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋๋ก ๋์์ ํจ โป promise๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด๋ก, promise๊ฐ ์ํ๋ฅผ ๊ด๋ฆฌํ์ฌ ๋ค๋ฅธ ์ฝ๋๊ฐ ๋น๋๊ธฐ..
React/2022-ไธ
Rest-API vs GraphQL-API Rest API๋ API(Application Programming Interface)๋ โ ๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ์งํฉ์ ์ ๊ณตํ์ฌ ์ปดํจํฐ ํ๋ก๊ทธ๋จ๊ฐ ์ํธ์์ฉ์ ์ด์งํ๋ฉฐ, ์๋ก ์ ๋ณด๋ฅผ ๊ตํ ๊ฐ๋ฅ ํ๋๋ก ํ๋ ๊ฒ REST API์ ์ ์ โ REST ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ โ ์ต๊ทผ OpenAPI, Micro Service ๋ฑ์ ์ ๊ณตํ๋ ์
์ฒด ๋๋ถ๋ถ์ REST API๋ฅผ ์ ๊ณตํจ REST API์ ํน์ง ์ฌ๋ด ์์คํ
๋ค๋ REST ๊ธฐ๋ฐ์ผ๋ก ์์คํ
์ ๋ถ์ฐํด ํ์ฅ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ ์ ์ง๋ณด์ ๋ฐ ์ด์ฉ์ ํธ๋ฆฌํ๊ฒ ํ ์ ์์ REST๋ HTTP ํ์ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ๋ฏ๋ก, HTTP๋ฅผ ์ง์ํ๋ ํ๋ก๊ทธ๋จ ์ธ์ด๋ก ํด๋ผ์ด์ธํธ, ์๋ฒ๋ฅผ ๊ตฌํํ ์ ์์ REST API๋ฅผ ์ ์ํ๋ฉด ๋ธํ..
React/2022-ไธ
Template Literals Template Literals๋? ES6์์ ์๋ก ๋์
๋ ๋ฌธ์์ด ํ๊ธฐ๋ฒ ๋ฐฑํฑ(backtick) ` ์ ์ฌ์ฉ โ ๋ฐฑํฑ์ ํค๋ณด๋์์ ์ซ์ 1 ์ผ์ชฝ, tabํค ์์ ์์นํ์ / ' (์์ ๋ฐ์ดํ)์ ํท๊ฐ๋ฆฌ์ง ๋ง๊ฒ! ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ๋ฌธ์์ด ์์ฑ ๊ฐ๋ฅ โ ์ค๋ฐ๊ฟ์ ๊ทธ๋๋ก ํํํ ์ ์์ ํน์ ๊ธฐํธ $๋ฅผ ์ฌ์ฉํด์ ๋ณ์ ๋๋ ์ ํฌํจ ๊ฐ๋ฅ ๊ธฐ์กด ์ฌ์ฉ ๋ฐฉ๋ฒ let a = 10; console.log("a์ ๊ฐ์ " + a + "์
๋๋ค"); โ ์์ ๊ฐ์ด + ๋ฅผ ์ด์ฉํด์ ๋ฌธ์์ด์ ์ด์ด ๋ถ์ฌ ์ฌ์ฉ Template Literals ์ฌ์ฉ ๋ฐฉ๋ฒ let a = 10; console.log(`a์ ๊ฐ์ ${a}์
๋๋ค); โ ์์ ๊ฐ์ด ๋ฐฑํฑ( ` )์ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ๋ค๋ฅด๊ฒ +๋ฅผ ์ด์ฉํ์ง..
React/2022-ไธ
Git Git์ด๋ ? ๋ฌด๋ฃ, ๊ณต๊ฐ ์ํํธ์จ์ด ์ปดํจํฐ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฌ๋ฌ ๋ช
์ ์ฌ์ฉ์๋ค ๊ฐ์ ํด๋น ํ์ผ๋ค์ ์์
์ ์กฐ์จํ๊ธฐ ์ํ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์์ค ์ฝ๋ ๊ด๋ฆฌ์ ์ฃผ๋ก ์ฌ์ฉ๋จ ์ด๋ค ์งํฉ์ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ง์์ ์ผ๋ก ์ถ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ ์ ์์ ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ถ์ฐํ ๋ฒ์ ์ปจํธ๋กค ํ๋ก๊ทธ๋จ ์ค ํ๋ ์ฌ๋ฌ ๊ณณ์ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ฑ๋กํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ Git์์ ์ผ์ด๋๋ ์ผ, ์ฃผ๋ก ์ฌ์ฉํ๋ ์ฉ๋ ๋๊ฐ์ ํ๊ฒฝ์์ ์์(ํ๊ฒฝ ์ค์ ) โ ์๋ฒ๊ฐ๋ฐ์ ์ค ํ๋ช
์ด ํ๊ฒฝ์ ๊ตฌ์ฑํจ ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ์์ ๊ฐ๋ฐํ์ฌ ๋ถํ์ํ ์๊ฐ์ ์์ ๊ณ ์๋ก ์ฃผ๊ณ ๋ฐ๋ ์์ค์ ์ผ์ด๋๋ ์ถฉ๋์ ์ต์ํํจ Git์ ์ฅ์ ์์ค์ฝ๋๋ฅผ ์ฃผ๊ณ ๋ฐ์ ํ์ ์์ด, ๊ฐ์ ํ์ผ์ ์ฌ๋ฌ ๋ช
์ด ๋์์ ์์
ํ๋ ๋ณ๋ ฌ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ ๋ธ๋์น๋ฅผ ํตํด ๊ฐ๋ฐ..
React/2022-ไธ
Import Import์ ๋ป์ ? → Import์ ์ฌ์ ์ ์๋ฏธ : โ ์์
ํ๋ค โก (๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํฐ๋ฅผ) ๋ถ๋ฌ์ค๋ค React์์์ import ์ฌ์ฉ ๋ฐฉ๋ฒ ํํ ์๋ฏธ import ์ด๋ฆ from "์์น" default ์์ด export ํด ์คฌ์ ๋ ์ฌ์ฉ import { ์ด๋ฆ } from "์์น" default ์์ด export ํด ์คฌ์ ๋ ์ฌ์ฉ import * from "์์น" ์์น์ ์๋ ๋ชจ๋ ๊ฒ์ ๊ฐ๊ณ ์ฌ ๋ ์ฌ์ฉ import * as ์ด๋ฆ from "์์น" as ๋ฌธ๋ฒ์ ํตํด ์ด๋ฆ์ ์์๋ก ์ค์ ํ ์ ์์ import { default as ์ด๋ฆ } from "์์น" as ๋ฌธ๋ฒ์ ํตํด ์ด๋ฆ์ ์์๋ก ์ค์ ํ ์ ์์ Export Export์ ๋ป์ ? → Export์ ์ฌ์ ์ ์๋ฏธ : โ ์์ถ(..