티스토리 뷰

ref를 선언하고 넣어줬더니 ref에서 빨간줄이 떴다. 왜 또.... 😞

...

const slideRef = useRef();

...

<div className='slideContainer' ref={slideRef}>
    {imgUrl.map((el) => (
      <SlideImg url={el.url} key={el.id}>
        <h5 className='alt'>{el.title}</h5>
      </SlideImg>
    ))}
</div>

...

Type 'MutableRefObject<HTMLDivElement | undefined>' is not assignable to type 'LegacyRef<HTMLDivElement> | undefined'.


이유

useRef의 초기값으로 null을 주지 않아서이므로 초기값을 주면 된다! 제네릭에 타입을 안정해줘도 에러는 사라지지만 작업하다가 빨간 줄이 생길 수도 있으니 타입을 지정하는걸 추천한다.

...

const slideRef = useRef<HTMLDivElement>(null);
// 또는
//const slideRef = useRef(null);

...

<div className='slideContainer' ref={slideRef}>
    {imgUrl.map((el) => (
      <SlideImg url={el.url} key={el.id}>
        <h5 className='alt'>{el.title}</h5>
      </SlideImg>
    ))}
</div>

...

 

참고 1

참고 2

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함