JavaScript
-
ํ๋ฉด ๋๋น๋ฅผ ์ด๊ณผํ์ง ์๋ ํดํ ๋ง๋ค๊ธฐ w.ReactTECH 2024. 4. 28. 21:08
ํดํ์ ํด๋ฆญํ๊ฑฐ๋ ๋๋ ๋ง์ฐ์ค๋ฅผ ํน์ ๊ตฌ์ฑ ์์์ ๊ฐ์ ธ๊ฐ์ ๋(hover ํ์ ๋) ์ํฉ์ ๋ง๋ ๋์๋ง์ด๋ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ํดํ์ ์ง์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ์ค, hover ์์๊ฐ ํ๋ฉด ์ ์ค๋ฅธ์ชฝ ๋์ ์์นํ ๋ ํดํ์ ์ปจํ ์ด๋๊ฐ ํ๋ฉด ๋๋น๋ฅผ ๋์ด๊ฐ๋ ํ์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ ํ์์ ์ฌ์ฉ์๊ฐ ์์ํ ๋๋ก ์ธํฐํ์ด์ค๊ฐ ๋์ํ์ง ์๊ณ , ํดํ์ ๋ด์ฉ์ ํ์ธํ๊ธฐ ์ํด ํ๋ฉด์ ์คํฌ๋กคํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํดํฉ๋๋ค. ๋ฐ๋ผ์ ์์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํ์ฌ ํดํ์ ์ปจํ ์ด๋๊ฐ ํ๋ฉด์ ๊ฐ๋ก ๊ธธ์ด๋ฅผ ๋์ด๊ฐ์ง ์๋๋ก ํดํ์ ์์น๋ฅผ ์กฐ์ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐ์ ์์ ์ ํดํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.import styles from './tooltip.module.css';import IconQna..
-
useState, ํด๋ก์ ๋ฅผ ํ์ฉํ์ฌ ๋์ํ๋ค๊ณ ?TECH 2024. 1. 27. 21:48
์ด๋ฒ ํฌ์คํ ์์๋ ํด๋ก์ ์ ๋ํด์ ๊ฐ๋จํ ์์๋ณด๊ณ , ํด๋ก์ ๊ฐ ํ์ฉ๋๋ ์์ ์ค ํ๋์ธ useState์ ๋ด๋ถ ๋์ ๋ฐฉ์์ ์์ธํ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. โ๏ธ ํด๋ก์ ๋? ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋๋ ์ค์ํ ํน์ฑ ์ค ํ๋๋ก, ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์ธ๋ ๋ ์์ปฌ ํ๊ฒฝ๊ณผ์ ์กฐํฉ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ ์์ปฌ ์ค์ฝํ๋ฅผ ๋ฐ๋ฅด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ํ์์ ๋๋ค. W3C School์์๋ ํด๋ก์ ๋ฅผ ํจ์๊ฐ privateํ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ์ด ์ค๋ช ์ด ํด๋ก์ ์ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ดํดํ๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ ์์ปฌ ์ค์ฝํ๋? ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ํจ์๊ฐ ํธ์ถ๋๋ ์์น๊ฐ ์๋ ํจ์๋ฅผ ์ด๋์ ์ ์ํ๋์ง์ ๋ฐ๋ผ ํจ์์ ์์ ์ค์ฝํ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์์ ์ค์ฝํ์ ๋ํ ์ฐธ์กฐ๋ ํจ์ ์ ์๊ฐ..
-
[JavaScript] ๋ ๋์ ๋น๋๊ธฐ ํต์TECH 2022. 3. 27. 15:02
ํ๋ฆฌ์จ๋ณด๋ฉ ํ์๋ค๊ณผ ํจ๊ป ๋ฉด์ ์คํฐ๋๋ฅผ ์์ํ๋ค! ์ด๋ฒ ์ฃผ ์ฃผ์ ์ค ํ๋์ธ Promise, callback hell, async/await, fetch ๋ฑ์ ๋ํด ์์ธํ ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ก๋ค. API๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ async/await๋ fetch๋ฅผ ์ฌ์ฉํ๋ฉด์๋ ๋ด๋ถ์ ์ผ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง๋ ์ ๋ชจ๋ฅด๊ณ ์์๋๋ฐ ์ด๋ฒ ๊ธฐํ์ ๋ด๋ถ ๋์์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์ง ๊ณต๋ถํด ๋ณผ ์ ์์๋ค. ๊ทธ๋ผ ๋ฐ๋ก ์์~ โ๏ธ ์ฝ๋ฐฑ ํจ์ ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ๋ค๋ฅธ ํจ์์ ๋ด๋ถ๋ก ์ ๋ฌ๋๋ ํจ์๋ฅผ ์ฝ๋ฐฑ ํจ์(callback function)๋ผ๊ณ ํ๋ค. ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํจ์์ ์ธ๋ถ์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ ๋ฌ๋ฐ์ ํจ์๋ ๊ณ ์ฐจ ํจ์(Higher-Order Function, HOF)๋ผ๊ณ ํ๋ค. ํน์ ์์ ์ n ๋ฒ ๋ฐ๋ณต์ํค๋ ํจ์๊ฐ..
-
[React] Checkbox (1) — Context API๋ก Checkbox ์ํ ๊ด๋ฆฌํ๊ธฐTECH 2022. 2. 19. 20:00
ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ฒดํฌ๋ฐ์ค๋ก ์ ํํ๊ณ ๋ฒํผ์ผ๋ก ํด์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋๋ฐ ๋ฒํผ์ผ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ํด์ ํ๋ ๋ฐฉ์์์ ๊ณ ๋ฏผ์ ๋ง์ด ํด, ํฌ์คํ ์ผ๋ก ๋จ๊ฒจ ๋๋ ค๊ณ ํฉ๋๋ค. ์์์ ๋ฐฐ์ด ๋ฐ์ดํฐ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ๋ง๋ค๊ณ Context API๋ก ์ํ ๊ด๋ฆฌํ๊ธฐ ์๋์ ๊ฐ์ ๋ฐ์ดํฐ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ๋ง๋ค์์ต๋๋ค~ ๋๋ณด๊ธฐ // utils/sampleData.js export const data = [ "๊ฐ์", "๊ฐ๋", "๊ธฐ์จ", "๊ตฌ๋ฆ", "๋๋ฆฌ", "๋์ธ", "๋๋ฆฌ", "๋ ธ์", "๋๊ฝ", "๋ค์", "๋ง์", "๋ง๋ฃจ", "๋ฏธ๋ฅด", "๋ฌด๋ฌ", "๋ง์", "๋ฏฟ์", "๋ญ๋ณ", "๋ฐ๋ค", "๋ฐฉ์ธ", "๋ณด๋ฆ", "๋ด๊ฝ", "๋ณ๋น", "๋ณ๋ฐค", "๋ณ์ฒ", "์ฌ๋", "์์", "์๋ฒฝ", "์์น", "์๋ณ", "์์นจ", "..
-
์ํฐ๋ ํ๋ฆฌ์จ๋ณด๋ฉ ํ๋ก ํธ์๋ ์ฝ์ค 1์ฃผ์ฐจ ํ๊ณ (2)ETC 2022. 2. 19. 15:46
์ฒซ ๋ฒ์งธ ๊ณผ์ ๋ ๊ฐ๋จํ ํ์จ ๊ณ์ฐ๊ธฐ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์๋ค. ์ฐ๋ฆฌ ํ์ ๋ค ๋ช ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ์ด๋ฒ ๊ณผ์ ๋ ๋ ๋ช ์ฉ ๋๋์ด ํ๋์ ๊ณ์ฐ๊ธฐ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์๋ค. ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ์์ทจ ๊ตญ๊ฐ๋ฅผ ์ ํํ๊ณ ์ก๊ธ์ก์ ์ ๋ ฅํ๋ฉด ๋ฒํผ ํ๋จ์ ์์ทจ๊ธ์ก์ด ์์ทจ๊ตญ๊ฐ์ ๋ง๋ ํ์จ๋ก ๋ณํ๋์ด ์ถ๋ ฅ๋๋ ๊ณ์ฐ๊ธฐ์๋ค. ์ง๊ธ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ฐธ ์์ฑํ๋ค. ๊ฐ์ด ํ๋ฆฌ์จ๋ณด๋ฉ ์ฝ์ค๋ฅผ ์ฐธ์ฌํ๋ ์ฌ๋๋ค์ ๋ณด๋ฉด ์ด๋ฐ์ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ๋ฅผ ๋ค๋ฃฐ ์ค ์๋ ๋ถ๋ค์ด ๋ง์ด ๊ณ์ ๋ฐ ๋๋ ์ด๋ป๊ฒ ํฉ๊ฒฉ์ ํด์ ๋ฐฐ์ฐ๊ณ ์๋ ์ถ์ ์ ๋๋ค. ๋ด๊ฐ ๋ฌธ ๋ซ๊ณ ๋ค์ด์จ ๊ฒ ์๋๊ฐ ์ถ๋ค. 1. API ํธ์ถ ํ์จ ์ ๋ณด๋ฅผ ๋ฐ์ ์ค๊ธฐ ์ํด API๋ฅผ ํธ์ถํด์ผ ํ๋ค. ๊ตฌํํด์ผ ํ๋ ๊ณ์ฐ๊ธฐ๊ฐ ๋ ๊ฐ์ง์ธ๋ฐ, ๊ฐ์ ํ์จ API ์ ๋ณด๋ฅผ ์ฐ๊ธฐ ๋๋ฌธ์ redux toolkit์ ์ฌ์ฉํด ํ..