1. onPress={() => handleClickedSave()}

이 문법에서는 화살표 함수를 사용하여 handleClickedSave를 호출

<Button onPress={() => handleClickedSave()} />
  • 장점:
    • handleClickedSave에 인수를 전달할 수 있음
    • 컴포넌트가 렌더링될 때마다 새로운 함수가 생성되므로, 항상 최신의 상태를 유지할 수 있음
  • 단점:
    • 컴포넌트가 렌더링될 때마다 새로운 함수가 생성되기 때문에, 렌더링이 빈번하게 발생하는 경우 성능 문제가 발생할 수 있음
    • 깊이 중첩된 컴포넌트나 자식 컴포넌트가 많은 경우, 성능에 영향을 미칠 수 있음

 

2. onPress={handleClickedSave}

이 문법에서는 함수 참조를 직접 onPress 속성에 전달

<Button onPress={handleClickedSave} />
  • 장점:
    • 렌더링할 때마다 새로운 함수가 생성되지 않으므로, 일반적으로 더 나은 성능을 제공
    • 메모리 사용이 적고, 특히 렌더링이 빈번하게 발생하는 경우 유리
  • 단점:
    • 인수를 전달할 수 없음. 인수를 전달해야 한다면 화살표 함수를 사용해야 함

요약

  • onPress={() => handleClickedSave()}: 새로운 함수가 매 렌더링마다 생성됨. 인수를 전달할 수 있음
  • onPress={handleClickedSave}: 함수 참조가 그대로 전달됨. 성능이 더 GOOD

대부분의 경우, 인수를 전달할 필요가 없다면 두 번째 방법(onPress={handleClickedSave})을 사용하는 것이 좋음

> 성능 최적화에 유리하기 때문에

인수를 전달해야 한다면 첫 번째 방법(onPress={() => handleClickedSave()})을 사용

728x90

'이론 > 개인공부' 카테고리의 다른 글

함수형 인터페이스  (0) 2023.01.31
람다식  (0) 2023.01.31
자바 스트림(Stream)  (0) 2022.12.30
OSI 7계층(OSI 7 Layers)  (1) 2022.08.29
정보처리기사 필기  (0) 2022.04.25

+ Recent posts