• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

컴포넌트 외부 변수 문의

21.02.18 14:14 작성 조회수 207

0

강사님 안녕하세요.

초보적인 질문을 하나 드리려고 합니다.

컴포넌트 외부에서 특수사항을 제외하고 let 변수를 사용하면 안되는 것이 맞나요?

저는 컴포넌트가 중복되어 여기 저기 활용될 시, 외부 변수가 공유되는 줄 모르고 있었는데요.

개발을 하면서 먼가 이상해서 확인해보니 let 변수가 바뀌면 다른 곳에서 사용된 동일 컴포넌트에서도

변경된 값이 동일하게 적용되더라고요..

초보적인 문의를 드려 죄송합니다;; 

답변 2

·

답변을 작성해보세요.

1

안녕하세요
외부에서 정의된 let 변수는 아래와 같은 문제가 있습니다.

1. 만약 해당 변수가 JSX 결과물에 영향을 미친다면, 값이 변경되어도 다시 렌더링된다는 보장이 없어서 문제가 됩니다. 이때는 useState 를 사용해야합니다
2. 같은 컴포넌트가 여러 번 사용됐을 때, let 변수는 여전히 하나라서 문제가 될 수 있습니다. 컴포넌트 인스턴스별로 변수를 관리해야 한다면, useRef 를 사용해야합니다. (글로벌하게 하나의 값만 있어도 된다면, 그리고 JSX 결과물에 영향을 주는 값이 아니라면 문제가 되지 않습니다)

0

아리마님의 프로필

아리마

질문자

2021.02.19

잘 이해했습니다. 좋은 답변 감사드려요~