[flutter] 플러터에서 useLayoutEffect 훅(hook)을 이용한 애니메이션 실행

플러터(Flutter)에서 애니메이션을 실행하는 방법은 매우 다양합니다. useLayoutEffect 훅을 활용하면 레이아웃이 업데이트된 후에 애니메이션을 실행할 수 있습니다.

이번 포스트에서는 useLayoutEffect 훅을 사용하여 애니메이션을 실행하는 방법에 대해 알아보겠습니다.

1. useLayoutEffect 훅이란?

useLayoutEffect는 플러터 프레임워크가 제공하는 훅(Hook) 중 하나로, 위젯이 렌더링 된 후 바로 실행되는 함수를 정의할 수 있게 해줍니다.

이를 이용하면 위젯의 레이아웃이 업데이트 된 후에 애니메이션을 실행할 수 있습니다.

2. useLayoutEffect를 이용한 애니메이션 실행하기

다음은 useLayoutEffect 훅을 이용하여 애니메이션을 실행하는 간단한 예제 코드입니다.

import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends HookWidget {
  @override
  Widget build(BuildContext context) {
    final AnimationController animationController = useAnimationController(
      duration: Duration(seconds: 1),
    );

    useLayoutEffect(() {
      // 애니메이션 실행 코드 작성
      animationController.forward();
    }, const []);

    return Scaffold(
      appBar: AppBar(
        title: Text('useLayoutEffect Animation Example'),
      ),
      body: Center(
        child: AnimatedBuilder(
          animation: animationController,
          builder: (BuildContext context, Widget? child) {
            return Container(
              height: animationController.value * 100,
              width: animationController.value * 100,
              color: Colors.blue,
            );
          },
        ),
      ),
    );
  }
}

위 예제에서는 useLayoutEffect를 사용하여 위젯의 레이아웃이 업데이트 된 후에 animationController.forward()를 호출하여 애니메이션을 실행하고 있습니다.

3. 마치며

플러터에서 useLayoutEffect 훅을 사용하여 애니메이션을 실행하는 방법에 대해 알아보았습니다. 이를 통해 레이아웃 업데이트 후에 애니메이션을 실행하는 작업을 보다 효율적으로 처리할 수 있습니다.

더 많은 플러터 및 훅에 관한 정보는 플러터 공식 문서를 참고하시기 바랍니다.