如何在React组件每次开始渲染时重置Redux状态



我在redux中有一个状态,它告诉我在页面上呈现的当前帖子数量

看起来像这个

{
postReducer:{
...state,
loaded:0,

}
}

当我在多个组件之间切换时,它们应该使用这种状态。

示例:我在主页上我关注的所有人的帖子都在那里,州看起来像这个

{
postReducer:{
...state,
loaded:15,
posts: [],
profilePosts: [],

}
}

当我从家里转到我的个人资料或任何其他人的个人资料时,我只想看到他们的帖子但是为了开始获取他们的帖子,加载的状态必须是0,但它是相同的15

我希望每次转到新组件时加载的值为0,并在同一组件上保持其值

我使用react路由器dom在页面之间切换

我尝试在useEffect中重置它,但第一批帖子是只加载的帖子

我不确定useEffect有什么问题。我相信你可以通过两种方式做到这一点:


一旦您的组件加载,您可以将0设置为已加载的帖子编号:

const dispatch = useDispatch();
useEffect(() => {dispatch(cleanupPostsNumberAction)}, []);

组件卸载后(当您从一个页面移动到另一个页面时(,您可以使用清理功能将loaded设置为0

const dispatch = useDispatch();
useEffect(() => () => {dispatch(cleanupPostsNumberAction)}, []);

因此,如果这个答案不完整,你可以提供更多关于问题的上下文

相关内容

  • 没有找到相关文章