React

forwardRef

meteorqz6 2024. 11. 14. 23:24

forwardRef : ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž๋…€ ์ปดํฌ๋„ŒํŠธ๋กœ ref๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•

 

๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž๋…€ ์ปดํฌ๋„ŒํŠธ์˜ DOM ์š”์†Œ์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

// App.js

import React, { useRef } from "react";

function App() {
  const inputRef = useRef();

  const focus = () => {
    inputRef.current.focus();
  };

  return (
    <div className="App">
      <input ref={inputRef} />
      <button onClick={focus}>ํฌ์ปค์Šค</button>
    </div>
  );
}

export default App;

์œ„์˜ ์ฝ”๋“œ๋Š” ref๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๊ณ , ๋งŒ๋“  ref๋ฅผ input ํƒœ๊ทธ ์•ˆ์— ref ์†์„ฑ์œผ๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ref๋Š” input์˜ ๋” ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์ด ํด๋ฆญ๋  ๋•Œ๋งˆ๋‹ค focus ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

 

[references]

https://ko.react.dev/reference/react/forwardRef

 

forwardRef – React

The library for web and native user interfaces

ko.react.dev