Section2 Unit9 [React] ํด๋ผ์ด์ธํธ Ajax ์์ฒญ
๐ Chapter1. React ๋ฐ์ดํฐ ํ๋ฆ
• ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ด๋ผ๋ ์์น์ ๋ฐ๋ผ ํ์ ์ปดํฌ๋ํธ๋ ์์ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ์ ํํ ํน์ ํ์ ์ด ๋ฌด์์ธ์ง๋ง ์ ์ ์๋ค. ๋ฐ์ดํฐ๊ฐ state๋ก๋ถํฐ ์๋์ง, ํ๋์ฝ๋ฉ์ผ๋ก ์ ๋ ฅํ ๋ด์ฉ์ธ์ง๋ ์์ง ๋ชปํ๋ค. ๊ทธ๋์ ํ์ ์ปดํฌ๋ํธ์์์ ์ด๋ค ์ด๋ฒคํธ๋ก ์ธํด ์์ ์ปดํฌ๋ํธ์ ์ํ๊ฐ ๋ฐ๋๋ ๊ฒ์ ๋ง์น “์ญ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ”๊ณผ ๊ฐ์ด ์กฐ๊ธ ์ด์ํ๊ฒ ๋ค๋ฆด ์ ์๋ค.
React๊ฐ ์ ์ํ๋ ํด๊ฒฐ์ฑ ์ ๋ค์๊ณผ ๊ฐ๋ค.
→ ์์ ์ปดํฌ๋ํธ์ “์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ํจ์” ๊ทธ ์์ฒด๋ฅผ ํ์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌํ๊ณ , ์ด ํจ์๋ฅผ ํ์ ์ปดํฌ๋ํธ๊ฐ ์คํํ๋ค.
์ด๋ฅผ “์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ(Lifting State Up)”๋ผ๊ณ ํ๋ค.
์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ์ ๋ํ ๋ด์ฉ์ React์ state๊ธ์ ์์ ๊ฐ์ด ์ ๋ฆฌํด๋์๊ณ ,
React์ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ํด์๋ ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉฐ ์ ๋ฆฌํด๋ณด์๋ค.
๐ Chapter2. Effect Hook
Side Effect์ ์์ํจ์์ ๋ํ ๊ฐ๋ตํ ์ธ๊ธ๊ณผ ํจ๊ป Effect Hook์ธ useEffect๊ฐ ๋ฌด์์ธ์ง์ ๊ด๋ จ ์์ ๋ ์ ๋ฆฌํด๋ณด์๋ค.
Side Effect์ ์์ํจ์์ ๊ด๋ จ๋ ์ฌ๋ฐ๋ ํด์ฆ๊ฐ ์์ด์ ๊ธฐ๋ก๐
โ Math.random()์ ์์ ํจ์๊ฐ ์๋๋๋ค. ์์ผ๊น์?
→ Math.random() ๊ฐ์ ๋ฉ์๋๋ ๋์ผํ ์ ๋ ฅ์๋ ๋ค๋ฅธ ์ถ๋ ฅ์ด ๋์ฌ ์ ์์ผ๋ฏ๋ก ์์ ํจ์๊ฐ ์๋๋ค.
โ ์ด๋ค ํจ์๊ฐ fetch API๋ฅผ ์ด์ฉํด AJAX ์์ฒญ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ์ด ํจ์๋ ์์ ํจ์๊ฐ ์๋๋๋ค. ์์ผ๊น์?
→ ์ด๋ค ํจ์๊ฐ ์๋ฒ์ ๋คํธ์ํฌ ์์ฒญ์ ๋ณด๋ธ๋ค๋ฉด ์ด๋ก ์ธํด ์๋ฒ์ ๋ฐ์ดํฐ์ Side Effect๋ฅผ ์ผ์ผํฌ ์ ์๊ณ , ์ด์ ๋ฐ๋ผ ํด๋น ํจ์๋ ์์ ํจ์๊ฐ ์๋๋ค.
๐ ์ค๋์ ํ๊ณ
์ค๋ ๊ณผ์ ์๋ States Airline part 1์ ํด๊ฒฐํ๊ณ , ์คํฐ๋ ์ด๋ฒคํธ ์ฃผ์ ์๋ Movie App๋ ํด๋ณด๋ ค๊ณ ํ๋๋ฐ, clone์ ํ๊ณ npm install์ผ๋ก dependencies๋ฅผ ๋ฐ๊ณ , ์ฑ์ ์คํํ๋ ค๋๋ฐ ๊ณ์ ์๋ฌ๊ฐ ๋ฌ๋ค. ํ๋ฉด์ ๋์ค์ง๋ ์๊ณ , ์๋ฌ๋ฉ์์ง๋ง ์๋ฉ ์ถ๋ ฅ๋๊ธธ๋ ์์ฒญ ์ ๋จน์๋ค…
๊ฒฐ๊ตญ ๊ตฌ๊ธ๋ง ๋์๊ฐ์ผ๋ก ๋ญ ํ๋์ง ๋ชจ๋ฅด๋ ์์ ํด๊ฒฐ์ ํด์ ์ด์ ์คํ์ ๋๋๋ฐ, ๋ฌด์์ด ๋ฌธ์ ์ธ์ง ์ ํ ๋ชจ๋ฅด๊ฒ ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก react-scripts ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ ํด๊ฒฐ์ด ๋์๋๋ฐ, ์… ํด. ๋ด์ ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ๋๊ฐ์ด ๊ตฌ๊ธ๋ง ํ๊ณ ์์๋ฏ ํ๋ค…
๊ทธ๋๋ ์ผ๋จ ํ๋ฉด์ ๋์ค๊ฒ ํ์ผ๋, Movie App๋ ํ๋ฒ ๋ง๋ค์ด๋ด์ผ์ง.
๊ฒฐ๊ตญ ์ค๋ Movie App ๋ฆฌ๋ทฐ๋ ํ๊ณ , States Airline part 2 ๊น์ง ์๋ฃํ์๋ค ๐ ๋ฎ์ ๋ด๋ด ์ง์ค์ด ์๋๋๋ ์ ๋ ๋๋๊น ์ด์๋๊ฑฐ.. ๋ ์ผ์ด๋๊ตฌ,, ๐ญ
'Frontend Dev > ๐ฅ ์ฝ๋์คํ ์ด์ธ FE ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Section2 Unit10 [Web Server] ๊ธฐ์ด - CORS & Mini Node Server (0) | 2023.06.01 |
---|---|
Section2 Unit9 [React] ํด๋ผ์ด์ธํธ Ajax ์์ฒญ - StateAirline Client ๊ณผ์ ๋ฆฌ๋ทฐ (0) | 2023.05.31 |
Section2 Unit8 [HTTP/๋คํธ์ํฌ] ์ค์ต - Postman (0) | 2023.05.26 |
Section2 Unit8 [HTTP/๋คํธ์ํฌ] ์ค์ต - REST API (0) | 2023.05.25 |
Section2 Unit7 [HTTP/๋คํธ์ํฌ] ๊ธฐ์ด (0) | 2023.05.24 |