본문 바로가기
Flutter

Flutter에서 헬퍼메소드와 클래스위젯

by 붕어사랑 티스토리 2023. 12. 20.
반응형

https://www.youtube.com/watch?v=IOyq-eTRhvo

 

 

 

1. 문제상황

 

우리가 자주 재사용되는 위젯을 따로 코드로 빼 놓을 때 두가지 방법이 있다.

 

 

  • 헬퍼메소드 사용(위젯을 리턴하는 함수를 의미)
  • 클래스 위젯을 사용

 

이 두가지 방법중 뭘 선택해야 할 까?

 

 

2. 정답은 클래스 위젯

 

구글에서 답을 정해줬다. 따로 위젯을 만들라는거다. 이유는 퍼포먼스적인 이슈 때문이라는데..

내가 추정한 이유는 다음과 같다.

 

  • 헬퍼 메소드는 setState같은걸 활용할 수 없다. 고로 헬퍼메소드를 사용하면 상위 위젯의 setState에 의지해야 하고, 헬퍼메소드 내에 위젯만 바뀌어야 하는거면, 불필요한 렌더링이 발생한다
  • const 생성자를 사용할 수 없다. 역시나 불필요한 렌더링을 발생시길 가능성이 있다.

 

구글에서 말하길, 헬퍼메소드는 코드 좀 간단한거 빼고 기능적으로 아무 이점이 없다. 고로 클래스 위젯을 사용하라고 한다.

반응형

댓글