AnimatedSwitcher의 state가 굉장히 짧은시간에 변하면
state별 key를 다 다르게 잘 설정 했음에도 불구하고
키가 중복됐다고 나오는 버그가 있다.
2023.9.8 현재 버전(Flutter 3.13.2)까진 고쳐지지 않은듯 하다.
Workaround는
return AnimatedSwitcher(
switchInCurve: Curves.fastOutSlowIn,
switchOutCurve: Curves.fastOutSlowIn,
duration: const Duration(milliseconds: 500),
reverseDuration: const Duration(milliseconds: 500),
transitionBuilder: (Widget child, Animation<double> animation) =>
FadeTransition(
opacity: animation,
child: child,
),
child: child,
);
transitionBuilder에서
FadeTransition(
opacity: animation,
child: child,
)
를 return 해주면 된다