[flutter] 플러터의 useSelector 훅(hook)을 이용한 상태 선택

플러터(Flutter)에서 Redux나 Bloc과 같은 상태 관리 패턴을 사용할 때, 선택자(Selector)를 이용하여 특정 상태를 추출하거나 변환하는 작업이 필요합니다. useSelector 훅을 이용하면 선택자를 쉽게 작성하고 상태를 선택할 수 있습니다.

useSelector 훅이란 무엇인가요?

useSelector 훅은 Redux나 Bloc과 같은 상태 관리 패턴에서 특정 상태를 선택하는 데 사용됩니다. useSelector 훅을 사용하면 상태를 선택하는 로직을 간단하게 작성할 수 있으며, 상태가 변경될 때마다 컴포넌트를 다시 렌더링할 수 있습니다.

useSelector 훅 사용하기

아래는 Redux 패턴에서 useSelector 훅을 사용하는 예제입니다.

import 'package:flutter_redux/flutter_redux.dart';
import 'package:redux/redux.dart';
import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StoreConnector<AppState, List<Todo>>(
      converter: (Store<AppState> store) => store.state.todos,
      builder: (BuildContext context, List<Todo> todos) {
        return ListView.builder(
          itemCount: todos.length,
          itemBuilder: (BuildContext context, int index) {
            return Text(todos[index].text);
          },
        );
      },
    );
  }
}

위 예제에서는 StoreConnector를 사용하여 Redux 스토어의 상태 중 todos를 선택하여 ListView로 표시하는 예제입니다.

useSelector 훅의 장점

요약

이상으로 useSelector 훅을 이용한 상태 선택에 대해 알아보았습니다. useSelector 훅을 사용하면 상태 관리 패턴을 쉽게 적용하고, 상태를 선택하는 로직을 간단하게 작성할 수 있습니다.

더 많은 정보는 공식 문서를 참고하세요.