인프런 커뮤니티 질문&답변

Choi님의 프로필 이미지
Choi

작성한 질문수

리액트로 나만의 블로그 만들기(MERN Stack)

(48) Comment Front

useEffect, useRef이 디테일한 역할이 무었인지 궁금합니다

작성

·

348

0

1. useEffect

useEffect는 랜더링시 특정작업을 위해 수행하는 hook로 알고 있고

[ ] 에 값을 삽입시 그값만 업데이트시만 수행하는걸로 알고있습니다.

Comment.js 에서 [ dispatch, id ] 를 집어넣는데 정확한 이유가 무었일까요?

2. useRef

특정DOM을 가르킬때 사용하는것으로 알고있습니다.

그러나 onSubmit 함수안에서 resetForm.current.value="" 가 의미하는바, 역할이 무엇인지 알지 못하고 있습니다.

간략한  설명좀 해주실 수 있을까요?

답변 1

1

싸플님의 프로필 이미지
싸플
지식공유자

1. useEffect의 []은 이 안에 넣는 값이 변할때마다 다시 렌더링해달라는 의미입니다. 

일반적으로 [ ]안에는  useEffect안에 적는 함수에서 변화가 될 만한 값들을 넣어주며, 

react에서 해당 값을 적어주지 않으면 자동으로 해당 값을 넣으라고 경고를 줍니다. 

그래서 특정한 의도가 있지 않는한, 경고대로 넣어주시면 대부분 바르게 작동합니다. 

2. useRef의 일반적인 용도는 특정 DOM을 가르키기도 하나, 또 다른 용도로는 특정 값을 전역으로 관리하는 기능도 가지고 있습니다. 

useState가 해당 컴포넌트 안에서만 값을 관리하지만, useRef 위치가 어디이든 값을 관리합니다. 

그래서 resetForm.current.value=""는 댓글을 달고 나면, 해당 값이 살아 있으면

댓글을 달아도 다음 댓글창에 전에 입력한 값이 살아 있기에

이를 다시 초기화 해주는 기능을 합니다. 

Choi님의 프로필 이미지
Choi

작성한 질문수

질문하기