feat: 新增详情页功能以增强用户交互体验
- 在MeFeature中新增showDetail状态和selectedMoment属性,支持详情页的展示。 - 更新Action枚举,添加showDetail和detailDismissed动作以处理详情页逻辑。 - 在MeView中整合showDetail状态与selectedMoment,优化详情页导航和交互逻辑。 - 通过viewStore发送动作,提升状态管理的清晰度与可维护性。
This commit is contained in:
@@ -18,6 +18,9 @@ struct MeFeature {
|
||||
var page: Int = 1
|
||||
var pageSize: Int = 20
|
||||
var uid: Int = 0
|
||||
// 新增:DetailView相关状态
|
||||
var showDetail: Bool = false
|
||||
var selectedMoment: MomentsInfo?
|
||||
}
|
||||
|
||||
enum Action: Equatable {
|
||||
@@ -28,6 +31,9 @@ struct MeFeature {
|
||||
case momentsResponse(Result<MyMomentsResponse, APIError>)
|
||||
// 设置按钮点击
|
||||
case settingButtonTapped
|
||||
// 新增:DetailView相关Action
|
||||
case showDetail(MomentsInfo)
|
||||
case detailDismissed
|
||||
}
|
||||
|
||||
func reduce(into state: inout State, action: Action) -> Effect<Action> {
|
||||
@@ -82,6 +88,14 @@ struct MeFeature {
|
||||
case .settingButtonTapped:
|
||||
// 交由 MainFeature 处理
|
||||
return .none
|
||||
case .showDetail(let moment):
|
||||
state.selectedMoment = moment
|
||||
state.showDetail = true
|
||||
return .none
|
||||
case .detailDismissed:
|
||||
state.showDetail = false
|
||||
state.selectedMoment = nil
|
||||
return .none
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user