inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전 리액트 프로그래밍

컴포넌트 외부 변수 문의

359

아리마

작성한 질문수 75

0

강사님 안녕하세요.

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

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

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

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

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

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

react redux

답변 2

1

이재승

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

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

0

아리마

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

자동완성기능이 안되네요 ..

0

499

3

화면에 에러가나네요 ...

0

515

2

setValue 함수 질문 있습니다.

0

840

1

찾아야한다 실습 문의

0

469

1

훅 기초 익히기 - 배치 처리와 순차적 처리의 차이

0

470

1

cra, next.js 관련 질문 드립니다!

0

605

1

useState 배열 비구조화 문법 질문!

0

252

1

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

1

1081

2

Saga 오류 이거 혹시 왜이런지 알수 있을까요?

0

370

2

http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요

0

656

1

match

1

494

1

버튼이 생성되지 않습니다 .

0

286

1

혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?

0

262

1

saga 문제

0

248

1

에러가 발생하는데 이유가뭘까요..?

0

388

2

선생님과 똑같이 했는데 다 rendering 됩니다.

0

202

1

컴포넌트와 컨테이너의 기준

0

315

1

커스텀훅의 개념과 함수차이

1

1197

1

useEffect 실전 활용법(1) 강의에서 질문있습니다.

0

337

1

리덕스, 사가파일들의 관리

0

207

1

useImperativeHandle 질문 입니다.

0

280

1

컴파일 문의드립니다.

0

202

1

React.memo 관련 질문이 있습니다.

0

373

1

Context API vs Redux 사용 빈도

0

211

1