강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

cudodev223584 のプロフィール画像
cudodev223584

投稿した質問数

Flutter 初級 - Http通信、状態管理

CartBloc 대체 코드 올립니다.

解決済みの質問

作成

·

445

0

import 'package:flutter_bloc/flutter_bloc.dart';
// 이벤트 기반 패턴 라이브러리
import '../model/item.dart';

enum CartEventType { add, remove } // 이벤트 정의

class CartEvent {
  final CartEventType type;
  final Item item;

  CartEvent(this.type, this.item);
}

class CartBloc extends Bloc<CartEvent, List<Item>> {
  // 이벤트, 리스트 정의
  CartBloc() : super([]) {
    on<CartEvent>((event, emit) {
      switch (event.type) {
        case CartEventType.add:
          state.add(event.item);
          break;
        case CartEventType.remove:
          state.remove(event.item);
          break;
      }
      emit(state);
    });
  }

  // CartBloc() : super([]); // 초기값은 빈 배열
  //
  // @override
  // Stream<List<Item>> mapEventToState(CartEvent event) async* {
  //   // 스트림 형태로 방출하게 만듦
  //   // 이벤트를 던지면 어떻게 수행할지 정의
  //   switch (event.type) {
  //     case CartEventType.add:
  //       state.add(event.item);
  //       break;
  //     case CartEventType.remove:
  //       state.remove(event.item);
  //       break;
  //   }
  //   yield state; // 값을 하나씩 밀어넣어주는 코드
  // }
}
flutteriosandroid웹앱

回答 2

0

survivalcoding님의 프로필 이미지
survivalcoding
インストラクター

코드 공유 감사합니다

0

cudodev22님의 프로필 이미지
cudodev22
質問者

근데 이게 정확한지는 모르겠네요

cudodev223584 のプロフィール画像
cudodev223584

投稿した質問数

質問する