我有一个从数据库中获取前10个最近帖子的查询(标识、帖子标题dateCreated等)并调用reducer来更新groupsPosts状态。我有另一个查询,它获取旧的10个帖子并调用reducer来更新groupsPostsMore状态,该状态存储检索到的旧的10个帖子。groupPostsMoreButton更简单地存储true或false,如果它们是要加载的最多帖子。所有这些都工作得很好。
我正在使用Map功能输出组帖子
第一个
我的问题是我无法将旧的10个帖子添加到当前的groupPosts状态中。我已经尝试将其连接到groupPosts groupsPosts: state.groupPosts.concat(action.groupPostsMore),
,但它在前端的状态上没有更新。
这是我的还原剂
import { GET_GROUP_POSTS, GET_GROUP_POSTS_MORE, GET_GROUP_POSTS_MORE_BUTTON } from "../constants";
const initialState = {
groupPosts: [],
groupPostsMore: [],
groupPostsMoreButton: null,
loaded: false
}
export const groups = (state = initialState, action) => {
switch (action.type) {
case GET_GROUP_POSTS:
return {
...state,
groupPosts: action.groupPosts,
loaded: action.loaded
}
case GET_GROUP_POSTS_MORE_BUTTON:
return {
...state,
groupPostsMoreButton: action.groupPostsMoreButton,
loaded: action.loaded
}
case GET_GROUP_POSTS_MORE:
return {
...state,
groupPostsMore: action.groupPostsMore,
groupsPosts: state.groupPosts.concat(action.groupPostsMore),
loaded: action.loaded
}
default:
return state
}
}
2条答案
按热度按时间xqk2d5yq1#
你可以试试
@reduxjs/toolkit
。它有一个更清晰的Redux代码语法。看起来你的代码不工作是因为这个打字错误:groupsPosts
,应该是groupPosts
吧?r55awzrz2#
嘿,如果下面没有帮助,
然后,你需要确保检查的行动。groupPostsMore,什么是被记录在那里。
希望对你有帮助,尽管怀疑吧