
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
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(),
],
),
