admin 管理员组

文章数量: 1086019

I recently upgraded my Freezed from 2.x.x to 3.x.x. After the upgrade, my Riverpod state file gave me an error, indicating that I need concrete getters. I couldn't find any information, as it has only just been released. Now I'm trying to get it resolved. Can anyone assist me?

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'premium.userdata.freezed.dart';

final premiumUserStateProvider = NotifierProvider<PremiumDataProvider, PremiumDataState>(() {
  return PremiumDataProvider();
});

@freezed
class PremiumDataState with _$PremiumDataState {
  const factory PremiumDataState({
    @Default(false) bool premium,
    @Default(0) int aiCredits,
  }) = _PremiumDataState;
}

class PremiumDataProvider extends Notifier<PremiumDataState> {
  @override
  PremiumDataState build() {
    return const PremiumDataState();
  }
}
Missing concrete implementations of 'getter _$PremiumDataState.aiCredits' and 'getter _$PremiumDataState.premium'.
Try implementing the missing methods, or make the class abstract.dartnon_abstract_class_inherits_abstract_member

I recently upgraded my Freezed from 2.x.x to 3.x.x. After the upgrade, my Riverpod state file gave me an error, indicating that I need concrete getters. I couldn't find any information, as it has only just been released. Now I'm trying to get it resolved. Can anyone assist me?

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'premium.userdata.freezed.dart';

final premiumUserStateProvider = NotifierProvider<PremiumDataProvider, PremiumDataState>(() {
  return PremiumDataProvider();
});

@freezed
class PremiumDataState with _$PremiumDataState {
  const factory PremiumDataState({
    @Default(false) bool premium,
    @Default(0) int aiCredits,
  }) = _PremiumDataState;
}

class PremiumDataProvider extends Notifier<PremiumDataState> {
  @override
  PremiumDataState build() {
    return const PremiumDataState();
  }
}
Missing concrete implementations of 'getter _$PremiumDataState.aiCredits' and 'getter _$PremiumDataState.premium'.
Try implementing the missing methods, or make the class abstract.dartnon_abstract_class_inherits_abstract_member
Share Improve this question asked Mar 27 at 12:54 BamsenBamsen 334 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 5

You need to make PremiumDataState abstract or sealed.

Follow the migration guide from v2 to v3 for more information.

本文标签: dartFlutter Freezed 300 with riverpodStack Overflow