riverpod icon indicating copy to clipboard operation
riverpod copied to clipboard

[riverpod_lint] avoid_manual_providers_as_generated_provider_dependency

Open SheepYang1993 opened this issue 3 months ago • 2 comments

Describe the bug vipTypeListInfoProvider.notifierwill show lint avoid_manual_providers_as_generated_provider_dependency

To Reproduce This is my code

import 'package:qlzm_color_flutter/model/response/vip_type_list_response.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

import '../network/api/pay_api.dart';
import '../util/app_util.dart';
import '../util/storage_util.dart';

part 'vip_riverpod.g.dart';

@riverpod
Future<void> refreshVipTypeList(RefreshVipTypeListRef ref) async {
  VipTypeListResponse response = await PayApi.getVipTypeList();
  List<VipTypeListData>? vipTypeList = response.data;
  await StorageUtil().write(StorageUtil.keyVipTypeList, vipTypeList);
  ref.read(vipTypeListInfoProvider.notifier).set(vipTypeList);
}

@Riverpod(keepAlive: true)
class VipTypeListInfo extends _$VipTypeListInfo {
  @override
  List<VipTypeListData>? build() {
    List<VipTypeListData>? vipTypeList = StorageUtil()
        .read<List<VipTypeListData>>(StorageUtil.keyVipTypeList,
            fromJson: (jsonList) {
      if (jsonList is List) {
        return jsonList.map((json) {
          return VipTypeListData.fromJson(json);
        }).toList();
      }
      return <VipTypeListData>[];
    });
    return vipTypeList;
  }

  set(List<VipTypeListData>? vipTypeList) {
    state = vipTypeList;
    AppUtil().saveVipTypeList(vipTypeList);
  }
}

Expected behavior I'm not sure if it's a code issue or a Lint error

SheepYang1993 avatar Apr 03 '24 08:04 SheepYang1993