freezed: ^0.9.2
json_serializable: ^3.2.5
freezed_annotation: ^0.7.1我的冰封课程是这样的
import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'freezed_classes.freezed.dart';
@freezed
abstract class User with _$User {
factory User(
{@required String uid,
String firstName,
String lastName,
String email,
Map<int, String> pictures
}) = _User;
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}我用它来生成类
flutter pub run build_runner watch --delete-conflicting-outputs该命令似乎成功执行,但我的IDE似乎抛出了这些编译问题
error: The method '_$_$_UserFromJson' isn't defined for the class '_$_User'. (undefined_method at lib/freezed/freezed_classes.freezed.dart:68)
error: The method '_$_$_UserToJson' isn't defined for the class '_$_User'. (undefined_method at lib/freezed/freezed_classes.freezed.dart:156)知道为什么会发生这种事吗?
我尝试了一次清理和IDE重新启动,但这种情况仍然存在。
发布于 2020-03-15 10:54:22
根据freezed文档:
The changes necessary to make it compatible with json_serializable consists of two lines:
a new part: part 'model.g.dart';
a new constructor on the targeted class: factory Model.fromJson(Map<String, dynamic> json) => _$ModelFromJson(json);您缺少json_serializable:part freezed_classes.g.dart所需的json_serializable:part freezed_classes.g.dart
https://stackoverflow.com/questions/60691939
复制相似问题