我在 redux 中有一个状态,它告诉我页面上呈现的当前帖子数
看起来像这样
{
postReducer:{
...state,
loaded:0,
}
}
当我在它们之间切换时,我有多个组件应该使用这种状态。
示例: 我在主页上我关注的人的所有帖子都在那里状态看起来像这样
{
postReducer:{
...state,
loaded:15,
posts: [],
profilePosts: [],
}
}
当我从家里转到我的个人资料或任何其他人的个人资料时,我只想看到他们的帖子 但是为了开始获取他们的帖子,loaded 状态必须为 0 但它是相同的 15
我希望每次访问新组件时加载的值为 0 并在我在同一组件上时保持其值
我正在使用 react-router-dom 在页面之间切换
我尝试在 useEffect 中重置它,但第一批帖子是仅加载的帖子
答案 0 :(得分:1)
我不确定,useEffect 有什么问题。 我相信你可以通过两种方式做到这一点:
加载组件后,您可以将 0 设置为已加载的帖子数:
const dispatch = useDispatch();
useEffect(() => {dispatch(cleanupPostsNumberAction)}, []);
一旦您的组件卸载(当您从一个页面移动到另一个页面时),您可以使用清理功能将 loaded
设置为 0
const dispatch = useDispatch();
useEffect(() => () => {dispatch(cleanupPostsNumberAction)}, []);
因此,如果此答案不完整,您可以提供有关您遇到的问题的更多背景信息