map을 통해 여러 HTML elements를 생성하고 이에 ref를 지정하려면
방법
하나의 div에 useRef를 사용해 ref를 지정해 주는 것은 어렵지 않다
const ref=useRef();
...
<div ref={ref}/>
하지만 map을 통해 여러 elements를 만들어 내는 경우는 어떨까?
const refs=useRef();
{[...Array].map((v)=>(<li ref={refs}>{v}</li>))}
이런 느낌으로 만들게 된다면 undefined를 가리키는 ref값을 받아볼 수 있다.
const refs=useRef([]);
const refs.current=[];
const addToRefs=(el)=>{refs.current.push(el)}
...
{[...Array].map((v)=>(<li ref={addToRefs()}>{v}</li>)
이제 이런식으로 초기화를 마친 refs에 접근해 그 값을 사용하면 된다.