커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
2주차 과제중 DefaultTabController에 대한 질문(해결되지 않아 다시 올립니다)
앱개발 종합반 - 플러터 v8
2주차
북마크
우*혁
댓글
5
추천
0
조회수
42
조회수
42
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.

DefaultTabController에 대해 구글링 해보던 중 대부분 DefaultTabController child로 바로 Scaffold를 사용하던데 주어진 코드는 Builder를 사용하길래 setState(() {})를 사용하기위해 사용되었구나 했는데 Builder를 사용하지 않고 Scaffold를 바로 child에 넣어서 진행시켜도 달라지는 점이 없었습니다.


따라서


아래 코드2처럼 사용안하고 코드1로 사용한 이유가 궁금합니다.

코드2번으로 했을때 작동 상 안되는게 없는것같아 굳이 코드1번처럼 child에 Builder함수를 넣은 이유가 궁금합니다.




스파르타 즉문즉답




코드1(주어진 코드):



 Widget build(BuildContext context) {
    return DefaultTabController(
      initialIndex: 1,
      length: 3,
      child: Builder(builder: (context) {
        DefaultTabController.of(context)?.addListener(() {
          setState(() {});
        });


        return Scaffold(
          body: Stack(
            children: [
              TabBarView(
                children: [
                  FirstTab(),
                  SecondTab(),
                  ThirdTab(),
                ],
              ),



코드2(바꿔본 코드):

Widget build(BuildContext context) {
    return DefaultTabController(
      initialIndex: 1,
      length: 3,
      child: Scaffold(
        body: Stack(
          children: [
            TabBarView(
              children: [
                FirstTab(),
                SecondTab(),
                ThirdTab(),
              ],
            ),



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴