• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

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

23.01.22 19:34 작성 23.01.22 19:35 수정 조회수 355

0

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

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

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

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

답변 1

답변을 작성해보세요.

1

안녕하세요!

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

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

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

감사합니다!

박종수님의 프로필

박종수

질문자

2023.01.24

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

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

박종수님의 프로필

박종수

질문자

2023.01.24

감사합니다!