feat: 更新FeedListView以使用ViewStore管理状态
- 将FeedListView中的状态管理从store转换为viewStore,提升代码可读性和一致性。 - 移除不必要的本地状态isEditFeedSheetPresented,简化视图逻辑。 - 更新sheet呈现逻辑,确保与viewStore的状态绑定,增强用户体验。
This commit is contained in:
@@ -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()
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user