inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

514

박종수

작성한 질문수 15

0

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

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

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

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

flutter 클론코딩 클론코딩 Flutter

답변 1

1

코드팩토리

안녕하세요!

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

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

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

감사합니다!

0

박종수

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

0

코드팩토리

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

0

박종수

감사합니다!

198강 (){onTap(e);}의 이해 돕기

0

39

1

video_call 플러그인 설치후 에러 발생

0

47

1

SDK 안드로이드 설치 질문!

0

62

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

94

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

71

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

57

1

플레이스토어

0

62

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

56

1

가이드라인 질문

0

59

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

78

1

emulator 실행 오류

0

95

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

73

1

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

0

44

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

54

1

video_call 플러그인 설치시 에러문제

0

67

1

children 안의 if 문에서 { } 못쓰는 이유?

0

51

1

이렇게 오류가 떠요

0

67

1

AppBar 사용했는데

0

64

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

59

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

65

1

Video Player 프로젝트에 대한 추가 질문

0

54

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

43

1

geolocator 오류때문에 개발진행이 불가능입니다

0

64

1

API 관련 이슈

0

89

2