Skip to content

Commit

Permalink
调整 riverpod 细节
Browse files Browse the repository at this point in the history
  • Loading branch information
CarGuo committed Mar 1, 2025
1 parent 6d6b7ea commit 3ea6f40
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
3 changes: 1 addition & 2 deletions lib/page/my_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,7 @@ class MyPageState extends BasePersonState<MyPage> {
}

@override
Widget build(BuildContext context) {
super.build(context); // See AutomaticKeepAliveClientMixin.
Widget buildContainer(BuildContext context) {
return StoreBuilder<GSYState>(
builder: (context, store) {
return GSYNestedPullLoadWidget(
Expand Down
16 changes: 16 additions & 0 deletions lib/page/user/base_person_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:gsy_github_app_flutter/common/repositories/user_repository.dart';
import 'package:gsy_github_app_flutter/model/Event.dart';
import 'package:gsy_github_app_flutter/model/User.dart';
Expand Down Expand Up @@ -71,6 +72,9 @@ abstract class BasePersonState<T extends StatefulWidget> extends State<T>
@protected
FetchHonorDataProvider get headerProvider;

@protected
Widget buildContainer(BuildContext context);

@protected
getUserOrg(String? userName) {
if (page <= 1 && userName != null) {
Expand Down Expand Up @@ -188,6 +192,18 @@ abstract class BasePersonState<T extends StatefulWidget> extends State<T>
];
}

@override
Widget build(BuildContext context) {
super.build(context);// See AutomaticKeepAliveClientMixin.
///局部 scoped 的 riverpod provider 方案
///配合 @Riverpod(dependencies: [])
return ProviderScope(
/// 必要时还可以覆盖
//overrides: [],
child: buildContainer(context),
);
}

///获取用户仓库前100个star统计数据
getHonor() async {
var _ = globalContainer.refresh(headerProvider);
Expand Down
3 changes: 1 addition & 2 deletions lib/page/user/person_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,7 @@ class PersonState extends BasePersonState<PersonPage> {
bool get needHeader => false;

@override
Widget build(BuildContext context) {
super.build(context);
Widget buildContainer(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: GSYTitleBar(
Expand Down

0 comments on commit 3ea6f40

Please sign in to comment.