[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
훅을 사용하여 애니메이션을 실행하는 방법에 대해 알아보았습니다. 이를 통해 레이아웃 업데이트 후에 애니메이션을 실행하는 작업을 보다 효율적으로 처리할 수 있습니다.
더 많은 플러터 및 훅에 관한 정보는 플러터 공식 문서를 참고하시기 바랍니다.