Zoo48 ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋? โ์ํ ๊ด๋ฆฌ ๋๊ตฌ๊ฐ ์ ํ์ํ ๊น? ์ํ๋(State)? React์์ State๋ component ์์์ ๊ด๋ฆฌ๋๋ ๊ฒ์ด๋ค. state๋ ์ค๋ก์ง ์์ ์ปดํฌ๋ํธ์๊ฒ๋ง ์ ๋ฌํด์ค ์ ์๋ค. ์ํ๊ด๋ฆฌ ํ์์ฑ 1. ์์ ์ปดํฌ๋ํธ๋ค ๊ฐ์ ๋ค์ด๋ ํธ ๋ฐ์ดํฐ ์ ๋ฌ์ ๋ถ๊ฐ๋ฅ ํ๋ค. 2. ์์ ์ปดํฌ๋ํธ๋ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ฅผ ํตํด์ ์ฃผ๊ณ ๋ฐ๋๋ค. 3. ๊ทธ๋ฐ๋ฐ ์์์ด ๋ง์์ง๋ค๋ฉด ์ํ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ๋ณต์กํด์ง๋ฉฐ ์์์ด ๋ง์์ง ์๋ก ๋ฐ์ดํฐ์ด๋์ด ๋ง์์ ธ ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ค. ๋ง์ฝ ์๊ทธ๋ฆผ ์ฒ๋ผ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์ํ๋ฅผ ์ ๋ฌ๋ฐ์์ผํ๋ ComponentD๊ฐ ์๋ค๋ฉด ๊ทธ ์ฌ์ด์ ์ปดํฌ๋ํธ์ ํด๋น ์ํ๋ฅผ ์ ๋ฌํด์ ๋์ฐฉ์ง์ธ ComponentD์ ์ํ๋ฅผ ์ ๋ฌํด์ฃผ์ด์ผ ํ๋ค. ์ฌ์ง์ด ๊ทธ ์ฌ์ด์ ComponentB.. 2022. 12. 7. [JS]์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ์บก์ฒ๋ง(Bubbling & Capturing) ๐๐ปJavaScript์๋ click , keypress , focus , submit , scroll , change ์ ๊ฐ์ ๋ค์ํ ์ด๋ฒคํธ๋ค์ด ์๋ค. ๋ง์ฝ ๋ถ๋ชจ ์์์ ์์ ์์์ ๋ ๋ค ๊ฐ์ ์ข ๋ฅ์ ์ด๋ฒคํธ๊ฐ ํ ๋น ๋์ด์์ ๋, ์ด๋ฒคํธ๋ฅผ ๋์์ํค๋ฉด ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋จผ์ ์คํ๋ ๊น? ์ด๋ฒคํธ ๋ฒ๋ธ๋ง ( Event Bubbling ) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ํด๋น ์ด๋ฒคํธ๊ฐ ๋ ์์์ ํ๋ฉด ์์๋ค๋ก ์ ๋ฌ๋์ด ๊ฐ๋ ํน์ฑ์ ์๋ฏธํ๋ค. ์์ ๊ฐ์ด ๋ธ๋ผ์ฐ์ ๋ ํน์ ํ๋ฉด ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ๊ทธ ์ด๋ฒคํธ๋ฅผ ์ต์์์ ์๋ ํ๋ฉด ์์๊น์ง ์ด๋ฒคํธ๋ฅผ ์ ํ์ํค๋ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์ด์ ๊ฐ์ ํ์์์ ์์ ์์๋ก์ ์ด๋ฒคํธ ์ ํ ๋ฐฉ์์ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling)์ด๋ผ๊ณ ํ๋ค... 2022. 11. 27. ๋ธ๋ผ์ฐ์ ์ ์ฅ์ ์ฐจ์ด์ ( Localstorage, SessionStorage, Cookie ) ๐ ๋ธ๋ผ์ฐ์ ์ ์ฅ์๋ก Cookie์ Web Storage๊ฐ ์๋ค HTML5 ์๋ ์น์ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ์ฅํ ์ ์๋ ์๋ก์ด ์๋ฃ๊ตฌ์กฐ์ธ Web Storage ์คํ์ด ํฌํจ๋์ด ์๋ค. ( Web Storage์ ๊ฐ๋ ์ ํค/๊ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ํจํด์ด๋ค. ) ๋ ์ฝ๊ณ ๊ฐ๋จํ ์ ์ฅ์ ์ ๊ณต์ ์ํด ์๋ก์ด localStorage์ sessionStorage API๋ฅผ ์ ๊ณตํ๋ค. WebStorage์ ํน์ง - ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ํด๋ผ์ด์ธํธ์ ์กด์ฌํ ๋ฟ ์๋ฒ๋ก ์ ์ก์ ์ด๋ฃจ์ด์ง์ง ์๋๋ค. ์ด๊ฒ์ ๋คํธ์ํฌ ํธ๋ํฝ ๋น์ฉ์ ์ค์ฌ ์ค๋ค๋ ์ฃผ์ํ ์ฅ์ ์ด ๋๋ค. - WebStorage๋ ์ฉ๋์ ์ ํ์ด ์๋ค. - ๋ง๋ฃ๊ธฐ๊ฐ์ ์ค์ ์ด ์๋ค. ์ฆ ํ๋ฒ ์ ์ฅํ ๋ฐ์ดํฐ๋ ์๊ตฌ์ ์ผ๋ก ์กด์ฌํ๋ ๊ฒ์ด๋ค. -.. 2022. 11. 16. Promise Promise๊ฐ ๋ญ๊ฐ์? ํ๋ก๋ฏธ์ค๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด์ด๋ค. ์ฌ๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ ‘ํน์ ์ฝ๋์ ์คํ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์ฝ๋๋ฅผ ๋จผ์ ์ํํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ฑ’์ ์๋ฏธํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ ๋ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ๋ฐ์์ค๊ธฐ ์ํด API๋ฅผ ์ฌ์ฉํ๋๋ฐ, API๊ฐ ์คํ๋๋ฉด ์๋ฒ์๋ค๊ฐ ๋ฐ์ดํฐ ๋ณด๋ด๋ฌ๋ผ๋ ์์ฒญ์ ๋ณด๋ด๊ณ , ๋ณด๋ด์จ ๋ฐ์ดํฐ์ ๋ฐํ๊ฐ์ด๋, ์๋ฌ์ํฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํ๋ก๋ฏธ์ค๋ฅผ ์ฌ์ฉํ๋ค. promise๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ์ฒ๋ฆฌ function async() { return new Promise((resolve, reject) => { setTimeout(() => { // setTimeout { console.log(res); }).. 2022. 11. 16. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ยทยทยท 12 ๋ค์