Ref3 Ref๋ฅผ ์ข ๋ ์ ์จ๋ณผ๊น? (forwardRef์ useImperativeHandle) ๋ค์ด๊ฐ๋ฉฐ: React์ Ref ์ ๋ฌ ๋ฌธ์ React์ ์ปดํฌ๋ํธ์์ ref๋ฅผ ์ ๋ฌํ๋ ค๊ณ ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.// ๐จ ๋์ํ์ง ์๋ ์ฝ๋const Input = (props) => { return ;};// ๋ถ๋ชจ ์ปดํฌ๋ํธconst Parent = () => { const inputRef = useRef(null); return ; // ref๊ฐ ์ ๋ฌ๋์ง ์์};์ด๋ React๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ref๋ฅผ ์ผ๋ฐ prop์ผ๋ก ์ ๋ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฐ ์ ํ์ด ์๋ ์ด์ ๋:1. ์บก์ํ ์ ์ง: ๋ด๋ถ ๊ตฌํ ์ธ๋ถ์ฌํญ์ ๋ณดํธ2. ์์ธก ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํ๋ฆ ๋ณด์ฅ3. ๋ถํ์ํ ๋ ธ์ถ ๋ฐฉ์ง forwardRef: React์ ๊ณต์์ ์ธ ref ์ ๋ฌ ๋ฉ์ปค๋์ฆReact ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, `forwardRef`๋ ๋ค์๊ณผ ๊ฐ์ .. 2024. 6. 28. [React] ์คํฌ๋กค๋ฐ์ค ์ฝ๋์ ์์๋ ์ด๋ ๊ธฐ๋ฅ ๊ตฌํ ๐๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ๐ ์ฑ ์ ์๋ ref์์ ์ธ ์คํฌ๋กค ๋ฐ์ค ์กฐ์ ์ฝ๋๋ '๋งจ๋ฐ์ผ๋ก'๋ผ๋ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ผ๋ก ์คํฌ๋กค์ ๋งจ ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ๊ฒ ํด์ฃผ๋ ๋ด์ฉ์ด๋ค. ํ์ง๋ง, ๋๋ ์ฌ๊ธฐ์ ์์ฉํ๊ธฐ ์ํด์ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์คํฌ๋กค ๋ฐ์ค๊ฐ ์, ์๋๋ก ์ด๋ํ ์ ์๋๋ก ๊ตฌํํ๊ณ ์ถ์๋ค. ๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃฌ์ง ์ผ๋ง ๋์ง ์์ ์ฒ์์๋ ์ด๋ฏธ ์์ฑ๋์ด์ ธ ์๋ ์ฝ๋๋ฅผ ์ด๋์๋ถํฐ ์ ๋์ผ ๋ ์ง ๋ง๋งํ์ง๋ง, ์์์ ํ๋ ์์ ๋ค์ ์ด์ฉํด์ ๊ณง์ฅ ๋ฐฉ๋ฒ์ ์ฐพ์๋ผ ์ ์์๋ค. ์ผ๋จ ์คํฌ๋กค์ด ๋ด๋ ค๊ฐ์์๋๋ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ฌ๋ผ์์ผํ๊ณ , ์ฌ๋ผ๊ฐ์์ ๋๋ ๋ด๋ ค์์ผํ๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ฐ๋ผ ๊ฐ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ด์ ๋ํ ์ด๊ธฐ๊ฐ๋ค์ ์ค์ ํด์ค์ผํ๋ค. ์ด์ ๋ฐ๋ผ ์ ์ฅ์์์ ์์ ๋ค์ ๋ ์ฌ๋ ค์ state์ ๋ํ ์ด๊ธฐ๊ฐ์ App.js์ ์ค์ ํด์ฃผ์๋ค. s.. 2021. 1. 2. [React] ref ์ค๋์ ref์ ๋ํด์ ๊ณต๋ถํด๋ณด์๋ค. ๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ์ฑ ์ ๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ref์ ๋ํด์ ์ดํด๊ฐ ๋ถ์กฑํด์ ๊ณต์๋ฌธ์๋ฅผ ์ฐพ์๋ณด๊ฒ ๋์๋ค. ko.reactjs.org/docs/refs-and-the-dom.html ref(Reference) ref๋ ๋ ํผ๋ฐ์ค๋ผ๋ ๋ป์ธ๋ฐ, ์ด๋ฅผ ๋ฒ์ญํ๋ฉด ์ฐธ์กฐ๋ผ๋ ๋ง์ด๋ค. ๊ณผ์ฐ ์ฝ๋ฉ์์ ์ฐธ์กฐ๋ผ๋ ๊ฒ์ ์ด๋ค ๊ฒ์ ๋ปํ๋ ๊ฒ์ผ๊น? ์๋ ๋ค๋ฅธ ์ธ์ด๋ฅผ ๋ฐฐ์ธ ๋, ์ฐธ์กฐ๋ ๋ณต์ ์ ๋น๊ต๊ฐ ๋์์๋ค. ๋ณต์ ๋ ํ์ผ์ ๋ณต์ฌํ๋ ๊ฒ์ด๋ผ๋ฉด, ์ฐธ์กฐ๋ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ๋น์ ๋์๋ค. ์ฐธ์กฐ๋ ์๋ณธ ํ์ผ์ ๋ํ ์ฃผ์ ๊ฐ์ด ๋ด๊ฒจ์์ด์ ๋๊ตฐ๊ฐ๊ฐ ์ด ๋ฐ๋ก๊ฐ๊ธฐ์ ์ ๊ทผํ๋ค๋ฉด ์ฌ๊ธฐ์ ์ ์ฅ๋ ์๋ณธ์ ์ฃผ์๋ฅผ ์ฐธ์กฐํด์ ์๋ณธ์ ์์น๋ฅผ ์์๋ด๊ณ ์๋ณธ์ ๋ํ ์์ ์ ํ๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ฝ๊ฒ ๋งํ๋ฉด, ์๊ฒฉ์ผ.. 2021. 1. 1. ์ด์ 1 ๋ค์ ๋ฐ์ํ