feat: 更新FeedListView以使用ViewStore管理状态

- 将FeedListView中的状态管理从store转换为viewStore,提升代码可读性和一致性。
- 移除不必要的本地状态isEditFeedSheetPresented,简化视图逻辑。
- 更新sheet呈现逻辑,确保与viewStore的状态绑定,增强用户体验。
This commit is contained in:
edwinQQQ
2025-07-21 19:14:40 +08:00
parent ba991598be
commit d4bef537d9

View File

@@ -4,10 +4,8 @@ import ComposableArchitecture
struct FeedListView: View {
let store: StoreOf<FeedListFeature>
@State private var isEditFeedSheetPresented = false // sheet
var body: some View {
WithPerceptionTracking {
WithViewStore(self.store, observe: { $0 }) { viewStore in
GeometryReader { geometry in
ZStack {
//
@@ -28,7 +26,7 @@ struct FeedListView: View {
.frame(maxWidth: .infinity, alignment: .center)
Spacer(minLength: 0)
Button(action: {
store.send(.editFeedButtonTapped)
viewStore.send(.editFeedButtonTapped)
}) {
Image("add icon")
.resizable()
@@ -54,14 +52,14 @@ struct FeedListView: View {
}
}
.onAppear {
store.send(.onAppear)
viewStore.send(.onAppear)
}
.sheet(isPresented: viewStore.binding(
get: \.isEditFeedPresented,
send: { $0 ? .editFeedButtonTapped : .editFeedDismissed }
)) {
EditFeedView()
}
// .sheet(isPresented: store.binding(
// get: \.isEditFeedPresented,
// send: { $0 ? .editFeedButtonTapped : .editFeedDismissed }
// )) {
// EditFeedView()
// }
}
}
}