首页 > 解决方案 > 在两个 reducer 之间共享状态(React +Redux)

问题描述

我有这两个减速器

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

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

其中,getPostsreducer 将相关操作创建者执行的获取的帖子放入状态变量posts中,而createPost将创建的帖子放入状态变量post中。与帖子关联的动作创建者createPost将帖子存储到后端的数据库中,并且在将帖子存储在数据库中之后,我想更新前端页面上的帖子,getPosts而无需再次从数据库中获取所有帖子,因为我已经拥有该州的所有职位,但新职位除外。所以,我想做的是将创建的帖子推送到posts状态变量中,但两个状态都在不同的减速器中。如何将post状态变量的值推入posts状态变量以在前端实现更新而无需在每次创建帖子后再次获取所有帖子?

标签: reactjsredux

解决方案


当您调度创建新帖子的操作时,您还可以调度一个将其添加到getPosts减速器的操作。

或者,当POST成功创建新的post in the db, you can then dispatch the action that adds it to the getPosts 减速器时。


推荐阅读