인프런 커뮤니티 질문&답변

박종수님의 프로필 이미지
박종수

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Slider 적용하기

_BottomSlider에 videoController를 직접 넘겨주지 않는 이유가 궁금합니다.

작성

·

457

·

수정됨

0

class _BottomSlider extends StatelessWidget {
  final Duration currentPosition;
  final ValueChanged<double> onBottomSliderChanged;
  final VideoPlayerController? videoPlayerController;

위의 형태로 videoController를 직접 넘겨줘도 정상작동하는 것을 확인했습니다.

만약 _BottomSlider에서 기능이 추가되어 videoController에 많은 접근이 필요해지면 일일히 넘겨주느라 복잡해질 것 같은데

통째로 넘겨주지 않는 것은 상태변화를 추적하기 원활하게 하기 위함인가요??

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

어떤 프레임워크든 상태를 중앙화해서 관리하고 필요한 상태만 하위 위젯/컴포넌트로 넘겨주는게 좋은 코딩습관입니다.

그 이유는 말씀하신대로 나중에 상태가 매우 많아지고 복잡해지면 어디에서 어떤 상태를 관리하고있는지 알기가 매우 어렵기때문입니다.

유지보수의 관점에서 위에서 아래로 상태를 넘겨주는게 좋다고 생각하시면 될 것 같습니다.

감사합니다!

박종수님의 프로필 이미지
박종수
질문자

그렇다면, 이런관점에서 하위위젯이 controller를 read only로 받아오는 것을 명확히 하기 위해 controller.value로 받아오는 것도 충분히 그런 의도에 부합하는 좋은 코드가 될까요??

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

그럴 수 있습니다. 좋은 코드냐 아니냐는 상황에따라, 프로젝트에따라, 개발자들의 성향에따라 조금씩은 달라질것으로 보입니다. 중요한건 변화는 최상단에서 관리하는것입니다. 물론 나중에 글로벌 상태관리툴을 사용하게되면 약간 상황이 달라집니다.

박종수님의 프로필 이미지
박종수
질문자

감사합니다!

박종수님의 프로필 이미지
박종수

작성한 질문수

질문하기