• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

hooks timer, startTime, endTimer 질문입니다.

20.08.06 23:15 작성 조회수 105

2

let timer = 0;
let startTime = 0;
let endTIme = 0;

const ResponseCheck = () => {
  const [statesetState] = useState("waiting");
  const [messagesetMessage] = useState("클릭해서 시작하세요");
  const [resultsetResult] = useState([]);

class -> hooks로 변환시 저 스스로 먼저 해보고 현영님 강의를 봤는데요, class처럼 내부에 선언되면 hooks는 컴포넌트 자체가 재실행되니까 내부에 선언하면 안되는구나 라고 생각하고 위의 코드처럼 컴포넌트 바깥으로 선언을 해줬는데요. 결과는 잘 돌아가더라구요.

useRef로 하는 것과 저렇게 바깥에 선언하는 차이가 있나요?

결과의 차이라던지, 성능의 차이라던지...

답변 1

답변을 작성해보세요.

4

ResponseCheck라는 컴포넌트를 여러개 동시에 사용하는 경우 저렇게 컴포넌트 바깥에 변수로 선언해두면 문제가 됩니다. 그래서 컴포넌트 안에 useRef로 만들어두어서 그 컴포넌트 소속임을 확실하게 보여주는 것입니다.