Диагностика флаттераTreeMixin с @freezed

Я пытаюсь реализовать состояние удержания класса провайдера, сгенерированное с помощью @freezed:

      @injectable
class NewClientFormProvider with ChangeNotifier, DiagnosticableTreeMixin {
  final IClientRepository _clientRepository;
  NewClientFormState _state = NewClientFormState.initial();

  NewClientFormState get state => _state;

  NewClientFormProvider(this._clientRepository);

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(
      DiagnosticsProperty<NewClientFormState>("state", _state),
    );
  }
}

@freezed
class NewClientFormState with _$NewClientFormState, DiagnosticableTreeMixin {
  const factory NewClientFormState({
    required Client client,
    required bool isSubmitting,
    required Option<Either<SaveFailure, Client>> saveFailureOrSuccessOption,
  }) = _NewClientFormState;

  const NewClientFormState._();

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(
      DiagnosticsProperty<String>("companyName", client.companyName),
    );
  }
}

Все сгенерировано и скомпилировано успешно, но переопределенные методы не используются, поэтому DevTools не могут читать текущие значения состояния (теперь должно быть видимым свойство "companyName". Я также попытался исключить DiagnosticableTreeMixin и реализовать только toString (), но это тоже не используется (использовалась замороженная версия переопределения).

0 ответов

Другие вопросы по тегам