[英]How to fix? error: The named parameter 'child' isn't defined. (undefined_named_parameter at [application_1]
[英]undefined_named_parameter in super constructor of abstract class
我對 Dart 和 Flutter 非常陌生,我一直在嘗試創建兩個類(SuccessState 和 ErrorState),它們實現了一個抽象的 class(Data.State),帶有可選參數出於某種原因,每當我在 SuccessState 和 ErrorState 中調用超級構造函數時,都會在 SuccessState 構造函數中的“data”參數以及 ErrorState 構造函數中的“status”和“msg”參數上收到 undefined_named_parameter 錯誤。 非常感謝任何輸入,謝謝。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> implements DataState<T> {
const SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super(status: status, msg: msg);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
您做錯的事情是您正在實施,因為您必須擴展 DataState class 然后問題將得到解決
'類 ErrorState 實現 DataState'
更改為 class ErrorState 擴展 DataState
問題是您使用的是implements
而不是extends
。 使用implements
時不會繼承超級構造函數。
您想將 SuccessState 和 ErrorState 擴展到 DataState。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> extends DataState<T> {
SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super();
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.