Почему Flutter mobX store не генерирует код? - PullRequest
1 голос
/ 27 мая 2019

У меня есть магазин Mobx, и он действительно ударил и пропустил создание моего storename.g.dart.

В первый раз я скопировал пример из среды и просто продолжал запускать генератор, пока в конце концов он не дал код.

Во второй раз я написал свой собственный магазин забыл абстрактное ключевое слово. Добавил, и это сработало.

Я думал, что это проблема.

Теперь, третий проект, я думаю, что у меня весь код не работает, но он все еще не генерирует. Много действий, но нет выхода.

Что заставляет его работать или терпеть неудачу? Это мой нынешний мобх

import 'package:mobx/mobx.dart';
import 'package:firebase_auth/firebase_auth.dart';

// have this line
// then generate with
// flutter packages pub run build_runner build
// or
// flutter packages pub run build_runner clean; flutter packages pub run build_runner build --delete-conflicting-outputs

// todo edit this file name
part 'usermodel.g.dart';

class UserModel = UserModelBase with _$UserModel;

abstract class UserModelBase implements Store {
  @observable
  FirebaseUser user;

  @action
  setUser(FirebaseUser u){
    user = u;
  }

  dispose() {}
}

Ответы [ 2 ]

2 голосов
/ 27 мая 2019

Store следует использовать как миксин.

Do:

abstract class Foo with Store {}

Не

abstract class Foo implements Store {
  void dispose() {} 
} 
0 голосов
/ 28 мая 2019

Я хотел добавить ответ в дополнение к полезному @Remi Posted.

Когда я скопировал пример, я скопировал записи в pubspec.yaml, и он указал mobx 0.1.4, который определил Store как

abstract class Store {}

Однако, когда я сделал свой третий проект, я добавил mobx: без версии, и он стал 0.2.0, который определил Store как

mixin Store {
  void dispose() {}
}

Что потребовало изменения ключевого слова implements на with.Спасибо, что понял это!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...