Reactjs 在两个减速器之间共享状态(React和Redux)

Reactjs 在两个减速器之间共享状态(React和Redux),reactjs,redux,Reactjs,Redux,我有这两个减速机 const getPosts = (initialState = {posts: []}, action) => {...} const createPost = (initialState = {post: null}, action) => {...} 其中,getPostsreducer将关联操作创建者执行的获取的帖子放入状态变量posts,而createPost将创建的帖子放入状态变量post。与createPost关联的操作创建者将帖子存储到后端的数据

我有这两个减速机

const getPosts = (initialState = {posts: []}, action) => {...}

const createPost = (initialState = {post: null}, action) => {...}

其中,
getPosts
reducer将关联操作创建者执行的获取的帖子放入状态变量
posts
,而
createPost
将创建的帖子放入状态变量
post
。与
createPost
关联的操作创建者将帖子存储到后端的数据库中,并在将帖子存储到数据库中之后,我想从
getPosts
更新前端页面上的帖子,而无需再次从数据库中获取所有帖子,因为除了新帖子外,我已经拥有该状态下的所有帖子。因此,我试图将创建的post推送到
posts
状态变量中,但这两种状态在不同的还原器中。如何将
post
状态变量的值推送到
posts
状态变量中,以在前端实现更新,而无需在每次创建post后再次获取所有post?

当您分派创建新post的操作时,您还可以分派一个操作,将其添加到
getPosts
reducer


或者,当
POST
在数据库中成功创建新的
POST时,您可以分派将其添加到
getPosts`reducer的操作。

您应该在操作中获取状态变量,并将其在有效负载中发送到另一个reducer。使用像
redux-thunk
或react-redux-hook这样的中间件,我想这是一种方法,使用action creator中的
getState()
获取
posts
状态变量并将新post推入其中,然后将修改后的
posts
再次放入
getPosts
减速机,虽然我一直在想也许顶级减缩器是一个更好的解决方案,但我不知道如何实现它。好吧,我想,既然你提到了它,如果你只有
post
post
状态,为什么不把它们都放在同一个减缩器中呢?这些只是示例减缩器。我有许多用于帖子的减速机,如果将减速机放在一起,其状态将是巨大而复杂的。在Redux中,您可以使用
组合减速机制作顶级减速机