[flutter] Redux Store의 상태 변경을 구독하는 방법은 무엇인가요?

예를 들어, 다음과 같이 Redux Store를 생성하고 상태 변경을 구독하는 코드를 작성할 수 있습니다:

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

// 상태 모델 정의
class AppState {
  final int counter;

  AppState(this.counter);
}

// 액션 정의
enum CounterAction { increment, decrement }

// 리듀서 정의
AppState counterReducer(AppState state, dynamic action) {
  if (action == CounterAction.increment) {
    return AppState(state.counter + 1);
  } else if (action == CounterAction.decrement) {
    return AppState(state.counter - 1);
  }
  
  return state;
}

void main() {
  // Redux Store 생성
  final store = Store<AppState>(counterReducer, initialState: AppState(0));

  // 상태 변경을 구독하는 코드
  store.subscribe(() {
    final currentState = store.state;
    print('현재 카운터 값: ${currentState.counter}');
  });

  // 액션 디스패치
  store.dispatch(CounterAction.increment);
  store.dispatch(CounterAction.decrement);
}

위의 코드에서 store.subscribe 메서드는 상태 변경이 있을 때마다 호출됩니다. 이 메서드 내에서는 새로운 상태를 얻고 원하는 작업을 수행할 수 있습니다. 위의 예시에서는 간단하게 새로운 상태의 카운터 값을 출력하도록 했습니다.

참고로, Flutter에서 Redux Store를 사용할 때는 flutter_redux 패키지를 사용하는 것이 좋습니다. 해당 패키지는 Redux와 Flutter를 통합하기 위한 유용한 기능들을 제공합니다.

자세한 내용은 flutter_redux 패키지 문서를 참고하시기 바랍니다.