flutter pub add freezed_annotation
flutter pub add --dev build_runner
flutter pub add --dev freezed
flutter pub add json_annotation
flutter pub add --dev json_serializable
💯 analysis_options.yaml에 들어가 아래와 같은 코드를 빼먹지 말고 넣어야 한다.
analyzer:
exclude:
- lib/**.g.dart
- lib/**.freezed.dart
errors:
invalid_annotation_target: ignore
import 'package:json_annotation/json_annotation.dart';
part '$NAME$.g.dart';
(explicitToJson: true)
class $CAP_NAME$ {
$END$
$CAP_NAME$();
factory $CAP_NAME$.fromJson(Map<String, dynamic> json) => _$$$CAP_NAME$FromJson(json);
}
import 'package:freezed_annotation/freezed_annotation.dart';
part 'photo.freezed.dart';
part 'photo.g.dart';
class Photo with _$Photo {
const factory Photo({
required String previewURL;
required String tags;
}) = _Photo;
factory Photo.fromJson(Map<String, Object?> json) => _$PhotoFromJson(json);
}
_state = state.copyWith(
isLoading : true //여기에 바꿀 부분이 들어간다.
);
_state.isLoading = true;
notifyListener();
void onAction(MainAction action) {
action.when(
getSearchedMovies: (query) {
fetchSearchedMovie(query);
},
error: (e) {});
}