invalidate memoized correctly

This commit is contained in:
Fabian Freund
2025-03-13 22:07:28 +01:00
parent c09d502a03
commit 82cbf6b37a
3 changed files with 7 additions and 2 deletions
@@ -24,7 +24,7 @@ class TabIcon extends HookConsumerWidget {
.getCachedIcon(state.url); .getCachedIcon(state.url);
return icon?.image.value; return icon?.image.value;
}); }, [state.icon, state.url]);
return Skeletonizer( return Skeletonizer(
enabled: enabled:
@@ -51,6 +51,7 @@ class FeedArticleScreen extends HookConsumerWidget {
if (article.summaryMarkdown.isNotEmpty) _Pages.summary, if (article.summaryMarkdown.isNotEmpty) _Pages.summary,
if (article.contentMarkdown.isNotEmpty) _Pages.content, if (article.contentMarkdown.isNotEmpty) _Pages.content,
], ],
[article],
); );
final tabController = useTabController( final tabController = useTabController(
@@ -59,11 +60,13 @@ class FeedArticleScreen extends HookConsumerWidget {
final articleLink = useMemoized( final articleLink = useMemoized(
() => article.links?.getRelation(FeedLinkRelation.alternate), () => article.links?.getRelation(FeedLinkRelation.alternate),
[article],
); );
final articleImages = useMemoized( final articleImages = useMemoized(
() => (article.contentMarkdown ?? article.summaryMarkdown) () => (article.contentMarkdown ?? article.summaryMarkdown)
.mapNotNull(extractImagesFromMarkdown), .mapNotNull(extractImagesFromMarkdown),
[article],
); );
final bottomHeight = useMemoized(() { final bottomHeight = useMemoized(() {
@@ -83,7 +86,7 @@ class FeedArticleScreen extends HookConsumerWidget {
} }
return height; return height;
}); }, [article]);
return NestedScrollView( return NestedScrollView(
headerSliverBuilder: headerSliverBuilder:
@@ -1,3 +1,4 @@
import 'package:fast_equatable/fast_equatable.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart'; import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
@@ -109,6 +110,7 @@ class _FeedEditContent extends HookConsumerWidget {
final formKey = useMemoized(() => GlobalKey<FormState>()); final formKey = useMemoized(() => GlobalKey<FormState>());
final initialTags = useMemoized( final initialTags = useMemoized(
() => initialFeed.tags?.map((tag) => tag.id).toSet(), () => initialFeed.tags?.map((tag) => tag.id).toSet(),
[EquatableValue(initialFeed.tags)],
); );
final tags = useRef(initialTags ?? {}); final tags = useRef(initialTags ?? {});