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

Javascript 如何在每次React组件开始渲染时重置Redux状态,javascript,reactjs,redux,react-redux,react-router,Javascript,Reactjs,Redux,React Redux,React Router,我在redux中有一个状态,它告诉我当前页面上呈现的帖子数量 看起来像这样 { 后减速器:{ ……国家, 加载:0, } } 当我在多个组件之间切换时,它们应该使用这种状态 例如: 我在主页上所有我关注的人的帖子都在那里状态是这样的 { 后减速器:{ ……国家, 载客:15, 员额:[], 简介职位:[], } } 当我从家里转到我的个人资料或任何其他人的个人资料时,我只想看到他们的帖子 但是为了开始获取他们的帖子,loaded状态必须是0,但它是相同的15 我希望每次转到新组件时加载的值为

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

看起来像这样

{
后减速器:{
……国家,
加载:0,
}
}
当我在多个组件之间切换时,它们应该使用这种状态

例如: 我在主页上所有我关注的人的帖子都在那里状态是这样的

{
后减速器:{
……国家,
载客:15,
员额:[],
简介职位:[],
}
}
当我从家里转到我的个人资料或任何其他人的个人资料时,我只想看到他们的帖子 但是为了开始获取他们的帖子,loaded状态必须是0,但它是相同的15

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

我正在使用react-router-dom在页面之间切换


我尝试在useffect中重置它,但是第一批帖子是只加载的帖子,我不确定useffect有什么问题。 我相信你可以通过两种方式做到这一点:


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

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

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

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

因此,如果这个答案不完整,您可以就您遇到的问题提供多一点背景知识

您可以分享一些代码吗?听起来你们想在加载每个页面时获取,而不管redux中有什么。这很有效,但我想问一个后续问题。具有多重useEffects是否存在除useEffect代码ofc之外的任何副作用?@AhmedGaafer无其他副作用。也许react在幕后创造了更多的观察者,但我相信这不是你应该关心的事情