[flutter] useRef 훅 위젯의 사용법과 예제
React에서 제공되는 useRef hook과 유사한 useRef 훅이 Flutter 2.8버전부터 도입되었습니다. useRef 훅은 StatefulWidget 내에서 상태를 저장하고, 해당 상태를 변경하지 않고도 상태를 보존할 수 있는 기능을 제공합니다. 이제 useRef 훅 위젯의 사용법과 예제를 살펴보도록 하겠습니다.
useRef 훅의 사용법
useRef 훅은 다음과 같이 사용됩니다.
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) {
var count = useRef(0);
useEffect(() {
print('useEffect - count: ${count.value}');
}, [count]);
return Scaffold(
appBar: AppBar(
title: Text('useRef Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
count.value++;
print('Button Clicked - count: ${count.value}');
},
child: Text('Click me'),
),
),
);
}
}
위 예제에서 useRef 훅을 사용하여 count라는 변수를 선언하고, useEffect 훅을 사용하여 count 변수 값의 변화를 감지하고 로그를 출력하는 예제입니다.
useRef 훅 예제
다음은 useRef 훅을 사용한 예제 코드입니다.
var count = useRef(0);
이 예제에서는 count라는 변수를 useRef 훅을 사용하여 선언하고, 해당 변수를 상태로 사용할 수 있습니다.
요약
이제 useRef 훅의 기본적인 사용법과 간단한 예제를 살펴보았습니다. useRef 훅을 사용하면 StatefulWidget 내에서 상태를 보존하고, 해당 상태를 변경하지 않고도 상태를 유지할 수 있습니다. useRef 훅을 효과적으로 활용하여 Flutter 애플리케이션을 개발하는데 도움이 될 것입니다.
참조: Flutter Hooks 문서