FLUTTER Аргумент не может быть назначен типу параметра - PullRequest
0 голосов
/ 18 апреля 2020

Ошибка : тип аргумента 'Пользователь (где пользователь определен в <dir>\<project>\lib\pages\home.dart)', нельзя назначить типу параметра' Пользователь (где пользователь определен в <dir>\<project>\lib\pages\timeline.dart)'.

* 1006). * Код : home.dart
Scaffold buildAuthScreen() {
return Scaffold(
  key: _scaffoldKey,
  body: PageView(
    children: <Widget>[
      Timeline(currentUser: currentUser),
      ActivityFeed(),
      Upload(currentUser: currentUser),
      Search(),
      Profile(profileId: currentUser?.id),

Код : timeline.dart

class Timeline extends StatefulWidget {
final User currentUser;
Timeline({this.currentUser});

на разных страницах работает, но на временной шкале я не, почему он показывает эту ошибку.

Github Link

1 Ответ

0 голосов
/ 18 апреля 2020

У вас есть два отдельных класса с именами User в двух разных файлах. Даже если у них одно и то же имя класса, они являются разными классами (даже если они имеют идентичные реализации).

Если они действительно должны быть отдельными классами, следует подумать, что их переименование будет другим. Если это невозможно, вы можете устранить их неоднозначность, указав , указав префикс библиотеки при импорте:

import 'timeline.dart' as timeline;

Затем вы можете использовать timeline.User, чтобы конкретно обратиться к версии timeline.dart. .

...