我正在创建一些类,并且遇到了这个问题:父类(super class)型的静态成员必须通过定义类型的名称进行限定。
帖子(Documnet文档)-> future

我的观点是:

UserApi

import '../api-helper.dart';
import '../../graphql/documents/login.dart';
import 'dart:async';

class UserAPI extends APIHelper {

  static Future<dynamic> login(account) async {
    return await post(new Login('name', 'email', 'token', 'refreshToken', 'createdAt', 'expiresAt', false));
  }

}

API助手
import 'package:graphql_flutter/graphql_flutter.dart' show Client, InMemoryCache;
import '../graphql/document.dart';
import '../graphql/graphql-helper.dart';
import 'dart:async';

class APIHelper {

  static const GRAPHQL_URL = 'https://heat-map-api.herokuapp.com/graphql';
  static final _client = Client(
      endPoint: GRAPHQL_URL,
      cache: new InMemoryCache(),
    );

  static Future<dynamic> post(Document document) async {
    return await _client.query(query: GraphQLHelper.getBodyMutation(document), variables: GraphQLHelper.getVariables(document));
  }

}

为了解决这个问题我该怎么办?我还没有编译该项目,但是吓到我了。

最佳答案

静态成员只能(在其类外部)通过在类名前面添加前缀来使用。

像这样的助手更好的设计是使用顶级成员。请参阅AVOID defining a class that contains only static members中的Effective Dart规则。

10-08 03:23