[flutter] 플러터의 useContext 훅(hook)을 사용한 상태 공유

플러터(Flutter) 앱을 개발하다 보면 여러 위젯 사이에서 상태를 공유해야 할 때가 있습니다. 예를 들어, 하위 위젯에서 사용자 인터페이스 상태를 업데이트하고, 이를 상위 위젯에서도 함께 사용해야 하는 상황이 발생할 수 있습니다. 이러한 경우, useContext 훅을 사용하여 상태 공유를 쉽게 구현할 수 있습니다.

useContext 훅 소개

useContext 훅은 플러터 훅(Flutter Hook) 라이브러리를 통해 제공되는 강력한 기능으로, 위젯 트리 전체에서 공유되는 상태를 관리할 수 있게 해줍니다. 이를 통해 상태를 명시적으로 전달하지 않고, 위젯 사이에서 편리하게 상태를 공유할 수 있습니다.

useContext 훅 사용하기

useContext 훅을 사용하기 위해서는 먼저 flutter_hooks 라이브러리를 프로젝트에 추가해야 합니다. 이후, 아래와 같이 useContext 훅을 활용하여 상태를 공유할 수 있습니다.

import 'package:flutter_hooks/flutter_hooks.dart';

Widget myWidget() {
  final sharedState = useContext();
  // 상태 공유
  return Container(
    child: Text(sharedState.value),
  );
}

위의 예시에서는 useContext 훅을 통해 sharedState라는 상태를 얻어와서 해당 상태를 위에서 아래로 전파하는 방식으로 상태 공유를 구현하고 있습니다.

요약

위의 예시에서 확인할 수 있듯이, useContext 훅을 사용하면 복잡한 상태 공유 문제를 해결할 수 있으며, 효율적인 상태 관리를 가능하게 해줍니다. 플러터 앱을 개발할 때, 위젯 사이의 상태 공유를 간편하게 해결하기 위해 useContext 훅을 적극적으로 활용해 보세요.

참고 자료