useRef & Custom Hook
useRef
Reference(์ฐธ์กฐ) ๋ง๊ทธ๋๋ก ํ ๋นํ ๊ฐ์ ์ฐธ์กฐํ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
useRef ํน์ง
์ปดํฌ๋ํธ ์์ ์ฃผ๊ธฐ ์ ์ฒด์ ๊ฑธ์ณ์ ์ ์ง๋๋ ๊ฐ์ฒด, ์ฆ, ์ปดํฌ๋ํธ๊ฐ ์ธ๋ง์ดํธ๋ ๋ ๊น์ง ์ ์ง๋๋ค.
๊ฐ์ด ๋ณ๊ฒฝ ๋์ด๋ ๋ฆฌ๋ ๋๋ง์ ์ ๋ฐํ์ง ์๋๋ค.
useRef๋ฅผ ์ธ์ ์ฐ๋
์ปดํฌ๋ํธ๊ฐ ์ธ๋ง์ดํธ๋ ๋ ๊น์ง ๋์ผํ ๊ฐ์ ์จ์ผ ํ๋ ๊ฒฝ์ฐ โ input์ ID๋ฅผ ๊ด๋ฆฌํ ๋
DOM ์์์ ์ง์ ์ ๊ทผํด์ ์ ์ดํ ๋ ์์ฃผ ์ฌ์ฉ๋๋ค โ ํ ๋นํ DOM ์์์ ํฌ์ปค์ฑ
์ํ์ ์ด์ ๊ฐ๊ณผ ๋น๊ตํด์ ํน์ ํ ์์ ์ ์ฒ๋ฆฌ ํ ๋
setTimeout, setInterval ๋ฑ ํ์ด๋จธ ID๋ฅผ ์ ์ฅํ ๋
Custom Hook
React์ Hook์ ์กฐํฉํ์ฌ ํน์ ํ ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ก ๋ง๋๋ ๊ฒ
์ปค์คํ
ํ
๊ท์น
React์์ ์ ๊ณตํด์ฃผ๋ ํ ๋ค์ ๋ค์ด๋ฐ ์ฒ๋ผ ์์
use
๋ฅผ ๋ถ์ฌ ์นด๋ฉ์ผ์ด์ค๋ก ์ฌ์ฉ๊ธฐ๋ณธ์ ์ธ Hook์ ๊ท์น๋ค๊ณผ ๋์ผ
์ปค์คํ
ํ
์ฅ์
์ปดํฌ๋ํธ์์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ UI๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋ํ ์ ์๋ค.
๋ก์ง์ ๋ถ๋ฆฌํ๊ณ ์๋ฏธ์๋ ์ด๋ฆ์ ๋ถ์ฌํจ์ผ๋ก์จ, ์ฝ๋์ ์ถ์ํ ์์ค์ ๋ํ ์ ์๋ค.
์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ค๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์ผ ์ ์๋ค.
ํ๋์ ๋ชฉ์ ์ ๊ฐ์ง๋ ์ฝ๋๋ฅผ ์ปค์คํ ํ ์ผ๋ก ์ถ์ถํ์ฌ ์์ง๋๋ฅผ ๋ํ ์ ์๋ค.
์ปค์คํ
ํ
์ํฐํจํด
๋ถํ์ํ ์ถ์ํ
UI๋ฅผ ์ ์ธํ ์ฝ๋๋ฅผ ๋ชจ๋ ์ปค์คํ ํ ์ผ๋ก ์จ๊ธฐ๊ฒ ๋๋ฉด ์คํ๋ ค ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ค์์ง๋ค.
์จ๊ฒจ๋ ๋๋ ๋ก์ง์ ์ปค์คํ ํ ์ ์จ๊ธฐ๊ณ , ํต์ฌ ๋ก์ง์ ์ปดํฌ๋ํธ ๋ด์ ๋๋ ๊ฒ์ด ๋ ์ข์ ์ ์๋ค.
๋๋ฌด ๋ง์ ์ฑ ์
ํ๋์ ์ปค์คํ ํ ์ ์ฌ๋ฌ ์ญํ ์ด ์์ฌ์์ผ๋ฉด ํด๋น ํ ์ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ๊ฐ ์ง๋์น๊ฒ ๋ณต์กํด ์ง ์ ์๋ค.
์ปค์คํ ํ ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋จ์ผ์ฑ ์์์น์ ๋ฐ๋ผ ์์ฑ๋์ด์ ธ์ผ ํ๋ค.
Last updated