[Flutter] 코딩 스터디 16회차 | 탭바(TabBar) 만들어보기

     목표

    • 책 '플러터 앱 프로그래밍' p.116~122 학습. 탭바 만들어보기

     

     이해한 것

    • TabController에서 length는 몇개의 탭을 만들지 결정, vsync는 탭이 이동했을때 호출되는 콜백함수 호출. 일종의 탭 라우팅 및 key값 설정이라고 보면 될것 같다
    • 위젯 상태관리에서 완전히 끝내는 dispose() 함수를 호출해서 메모리 누수를 막을 수 있음. 항상 위젯이 실행되는것이 끝나면 dispose() 함수로 끝내두기.

    별다른 조작없이 탭메뉴 완성

     

     이해 안되는 것

    • 이해가 안됬다기보단 삽질한 내용들을 올려본다.
      • 삽질1) 바로 _MyHomePageState 클래스로 작업이 넘어가서, 이전 MyApp()과 MyHomePage() 함수 설정을 따로 해줘야하나? 지워야 하나 고민하면서 지웠더니 오류가 주르르륵 뜨고... 책의 의도가 아 그냥 잔말말고 위에 함수들은 그대로 놔두고 두번째 상태관리 클래스만 설정해야 하는구나 라는것을 깨닫고 다시 처음부터 시작했다.
      • 삽질2) 그런데 다음엔 title키값에서 문제가...?! const 선언 지워주는것으로 key값 오류를 해결했었는데 이번엔 위의 함수들을 그대로 놔두고 진행했더니 다시 신경 끄고있던 오류가 생겼었다. 계속 오류가 떠서 고민하다가 매개변수를 지워주면 되지 않을까...싶어 MaterialApp()의 리턴값을 받는 MyHomePage()을 깔끔하게 비웠더니 오류 해결...!! 

     소감

    • 계속 매번 볼때마다 신기하다. 따로 마크업 지정 없이 함수선언만으로 이렇게 페이지가 보여지고 탭메뉴가 연결이 된다고...? 스카폴드 정말 신기하다.
    • 책이 나온지 1년이 지났고, 그 사이 플러터도 대규모 업데이트가 있었던지라 마냥 책만 보고 따라하면 자잘한 오류가 생긴다. 시시각각 변하는 플러터의 특성이겠거니 하지만 온전히 코딩 입문자가 보면 한 4장 보다가 때려치울것 같다...

    댓글