inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

key 속성 고유하게 하기

useState() 초기값에 대한 질문

69

춘식이

작성한 질문수 2

0

안녕하세요. useState의 초기값으로 함수를 넣는 경우를 처음 접해서 질문드립니다.

 

제가 따로 찾아본 결과

useState() 초기값으로 값이 아닌 함수를 넣어주게되면 -> 리랜더링시에 값이 평가되지않고 -> 쓸때없이 uuid가 생성되지 않아서 강의(86강 5분대)와 같이 useState 초기값으로 함수를 넣어주신게 맞나요??
그리고 이를 lazy-initialization이라 명명하는게 맞을까요??

좋은 강의 감사드립니다.

react react-router redux-toolkit zustand react.js

답변 2

0

수코딩

안녕하세요.

찾아보신 내용이 정확히 맞습니다.

함수를 넣어주게 되면 리렌더링시에 평가되지 않아서 초기값 계산에 상당한 시간이 소요될 수 있는 경우에

유용하게 사용할 수 있습니다. 이를 lazy initialization이라고 합니다.

또한, 인프런 AI 답변도 질문하신 내용에 빗대어 생각해봤을 때

제가 부연설명을 더 하지 않아도 될 정도로 정확합니다.

참고하시면 되겠습니다.

감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 춘식이님.

useState의 초기값으로 함수를 전달하는 패턴은 성능 최적화를 위한 방법 중 하나입니다. 일반적으로 useState는 초기값을 평가해서 해당 값으로 state를 설정합니다. 그러나 초기값을 계산하는 비용이 큰 경우, 초기값 설정 시 함수를 전달하면 컴포넌트의 초기 렌더링에서만 그 함수가 호출되기 때문에 불필요한 비용을 줄일 수 있습니다.

이는 lazy initialization이라고도 불리며, 초기값 계산에 상당한 시간이 소요될 수 있는 경우에 유용합니다. uuid 생성이나 고비용의 계산을 초기값으로 지정할 때, 이렇게 설정하면 리렌더링 때마다 재계산되는 것을 방지할 수 있습니다.

관련된 질문이나 추가 자료로 도움이 될 수 있는 링크는 다음과 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

cloudinary 관련

0

39

3

useOptimistic 실전-1 useState

0

60

2

discord 초대장 갱신이 필요한거같습니다.

0

61

1

할일 관리 앱(메모이제이션)

0

79

2

Web 플랫폼 등록

0

105

2

함수 정의 기준

0

76

2

fetch는 사용되는가

0

75

2

전역상태 관리 선택 기준

0

85

2

tailwind css는 언제 사용되는가 또 다른 css와의 차이

0

151

2

카카오 web플랫폼 등록

0

144

2

컴포넌트 그리고 폴더 구조에 대해

0

58

2

152강 보는중입니다. 초시계부분이구요. 넘버가 timeout을 받을수없다는 에러가 나오고 있어요

0

42

1

폼테그 다른 태그를 하나의 상태 객체로 묶기

0

43

2

class를 className으로 전부 수정하실 때

0

42

2

JWT에 대한 개념도 학습할 수 있나요?

0

64

2

수업자료 다운로드

0

51

2

리액트 객체의 타입을 알기위하여 마우스를 올렸을 때 나오는 형식이 강의와 다른 부분 문의 드립니다.

0

65

2

useState 자동생성 하실때 누른 키보드가 궁금합니다.

0

51

1

타입스크립트 타입이 불일치하는데 에러가 안납니다.

0

74

3

default format >> prettier 이 실행이 안됩니다.

0

65

2

윈도우 사용자입니다. homebrew 윈도우 설치법은 없나요?

0

341

3

리렌더링 관련 문의

0

56

2

공부 방향에 대해서

0

62

2

form action 과 onSubmit

0

59

2