inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

배달앱 클론코딩 [with React Native]

TextInput 사용하기

로그인 페이지 내 useCallback 사용 이유

해결된 질문

540

방자

작성한 질문수 5

0

안녕하세요,
RN보다는 React에 가까운 질문 같긴하지만 궁금한 점이 있어서요.

제로조님께서 로그인 페이지 내에서 onSubmit 함수나 onChangeEmail, onChangePassword 함수에 useCallback을 사용하셨는데 이유가 있을까요??

useCallback이 재랜더링 시 불필요하게 계속 호출되는 것을 막는 것으로 알고 있는데, 해당 페이지 내에서는 재랜더링 되는 것이 없어서 불필요한 것이 아닌가 싶어서요.

물론 useCallback없이 써도 되는 것은 알지만, 해당 부분에서 제로조님께서 useCallback을 사용하시는 이유가 궁금합니다!

감사합니다!

 

react-native

답변 1

0

제로초(조현영)

usecallback으로 안 감싸면 onChangeEmail같은 함수 때문에 인풋창이 리렌더링됩니다.

0

Oim

react-native 개발할 때는 모든 함수에 useCallback을 감싸라는 말을 들은적이 있습니다.

 

메모이징을 남발하면 안된다고 배웠는데 로그인에 사용되는 함수처럼 간단한 로직도 모두 메모이징하는 이유가 궁금합니다.

1

제로초(조현영)

답변대로 함수에 useCallback을 적용하지 않으면 자식 컴포넌트가 리렌더링됩니다. 다만 리렌더링된다고 해서 무조건 성능에 문제가 있는 것은 아니고, 성능에 문제가 생길 경우에만 useCallback 등으로 감싸주시면 됩니다.

앱실행시 네이버맵 [401] 에러

0

990

2

스타일링 라이브러리

0

147

2

expo, cli 선택 중에 고민이 있습니다.

0

167

2

JDK 버전이 달라도 괜찮나요?

0

224

2

dimenstion usewindowdeminstion

0

121

3

[맥 전용]환경 설정하기 1편 & [맥 전용]환경 설정하기 2편의 영상이 안나옵니다.

0

210

1

jdk11 버전과 gradle 버전의 호환성 관련 질문드립니다.

0

400

2

강의 외 질문입니다!

0

157

2

react native랑 맞는 ui 라이브러리 어떤게 좋을까요?

0

1502

2

react native와 spring boot 연결

0

356

1

java가 아닌 .kt에서 code push 에러가 발생합니다.

0

215

2

flipper 239 에러가 발생합니다.

0

165

2

package.json에 /lib/panino.js 문제입니다.

0

470

2

window - mac 협업 과정 질문합니다

0

215

1

ios 빌드 중 RCTBridgeDelegate.h import 오류

0

289

2

ios 앱 빌드 중 hermesEnabled 관련 오류발생

0

239

2

Socket 연결시 질문 드립니다.!

0

152

2

wifi 환경에서 axios 통신이 로컬서버에서 안됩니다.

0

426

2

iOS render error 질문드립니다.

0

410

2

iOS 가상머신 오류

0

165

2

npc react init 명령어 실행시 발생되는 오류

0

220

1

nom start 시 오류

0

116

1

NextJS 기반으로 만들어서 웹뷰 React Native로 배포 가능한가요?

0

1002

2

안드로이드 rn75 버전에 맞게 설정 중에 android13 다운로드에 대해서 막혔습니다!

0

184

2