enum MyStatus { initial, loading, success, error } class MyState extends Equatable { const MyState({ this.myAsyncData, this.status = MyStatus.initial, }); final AsyncData? myAsyncData; final MyStatus status; @override List<Object> get props => [myAsyncData, status]; // Creates a new state with the changed data keeping the BlocState immutable MyState copyWith({ AsyncData? myAsyncData, MyStatus? status, }) { return MyState( myAsyncData: myAsyncData ?? this.myAsyncData, status: status ?? this.status, ); } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter