[Flutter] LateError (LateInitializationError: Field 'animationController' has not been initialized.)

๊ฒจ๋ ˆยท2025๋…„ 2์›” 3์ผ
0

๐Ÿ’ฃ LateError (LateInitializationError: Field 'animationController' has not been initialized.)

๐Ÿ‘‰ late ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋œ animationController๊ฐ€ initState()์—์„œ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์œ„์ ฏ์ด ์‚ฌ์šฉ๋˜๊ธฐ ์ „์— ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.


๐Ÿ” ์›์ธ

  • AnimationController๋ฅผ late๋กœ ์„ ์–ธํ–ˆ์ง€๋งŒ, initState()์—์„œ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์Œ.
  • initState()์—์„œ ์ดˆ๊ธฐํ™”ํ–ˆ์ง€๋งŒ, super.initState(); ํ˜ธ์ถœ์„ ๋นผ๋จน์Œ.
  • dispose()์—์„œ animationController.dispose();์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์•„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • โ‘  initState()์—์„œ ์ดˆ๊ธฐํ™” ์ถ”๊ฐ€
    AnimationController๋Š” ๋ฐ˜๋“œ์‹œ initState()์—์„œ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค.
    ์•„๋ž˜์™€ ๊ฐ™์ด vsync: this๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SingleTickerProviderStateMixin์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.
class _MyWidgetState extends State<MyWidget> with SingleTickerProviderStateMixin {
  late AnimationController animationController;

  
  void initState() {
    super.initState();
    
    // ๐Ÿ”น AnimationController ์ดˆ๊ธฐํ™”
    animationController = AnimationController(
      vsync: this,
      duration: const Duration(seconds: 2),
    );
  }

  
  void dispose() {
    // ๐Ÿ”น AnimationController๋Š” ๋ฐ˜๋“œ์‹œ dispose()์—์„œ ์ •๋ฆฌ
    animationController.dispose();
    super.dispose();
  }

  
  Widget build(BuildContext context) {
    return Container();
  }
}

  • โ‘ก ์ดˆ๊ธฐํ™”๋ฅผ ์ฆ‰์‹œ ํ•˜๋„๋ก late ๋Œ€์‹  final ์‚ฌ์šฉ
    ์ดˆ๊ธฐํ™”๋ฅผ late๋กœ ๋ฏธ๋ฃจ์ง€ ๋ง๊ณ  final์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ์ „ํ•˜๋‹ค.
class _MyWidgetState extends State<MyWidget> with SingleTickerProviderStateMixin {
  final AnimationController animationController;

  _MyWidgetState()
      : animationController = AnimationController(
          vsync: this,
          duration: const Duration(seconds: 2),
        );

  
  void dispose() {
    animationController.dispose();
    super.dispose();
  }
}

์—…๋กœ๋“œ์ค‘..

initState ์ถ”๊ฐ€ ํ›„, ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Œ!

profile
ํ˜ธ๋–ก ์‹ ๋ฌธ์ง€์—์„œ ๊ฐœ๋ฐœ์ž๋กœ ํ™˜์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€