From 60b3f824be828f40efa210095556a84d1db8c1ee Mon Sep 17 00:00:00 2001 From: edwinQQQ Date: Tue, 22 Jul 2025 17:26:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=A6=96=E6=AC=A1?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=A0=87=E5=BF=97=E4=BB=A5=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=AF=B7=E6=B1=82=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在FeedListFeature中新增isLoaded属性,确保仅在首次加载时请求feed数据,提升性能和用户体验。 --- yana/Features/FeedListFeature.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yana/Features/FeedListFeature.swift b/yana/Features/FeedListFeature.swift index 579d7c4..456c7f8 100644 --- a/yana/Features/FeedListFeature.swift +++ b/yana/Features/FeedListFeature.swift @@ -11,6 +11,8 @@ struct FeedListFeature { var isEditFeedPresented: Bool = false // 新增:控制 EditFeedView 弹窗 // 新增:动态内容 var moments: [MomentsInfo] = [] + // 新增:只加载一次标志 + var isLoaded: Bool = false } enum Action: Equatable { @@ -28,7 +30,9 @@ struct FeedListFeature { func reduce(into state: inout State, action: Action) -> Effect { switch action { case .onAppear: - // 页面展示时自动请求 feed 数据 + // 只在首次加载时请求 feed 数据 + guard !state.isLoaded else { return .none } + state.isLoaded = true return .send(.fetchFeeds) case .fetchFeeds: state.isLoading = true