所以我有这个Twitter克隆,当我关注一个用户时,索引页面上显示的帖子应该刷新,然后显示我关注的用户的帖子,关注的人列表也应该刷新,删除该用户.因此,我为FollowUser函数添加了无效标记,以使帖子和用户数据无效,但它不起作用.只有当我刷新时,我才能获得更新的数据.如何才能在不刷新的情况下重新获取我的帖子列表和用户列表并显示新数据.

APISLICE 关注用户

 followUser:builder.mutation({
    async queryFn({id,currUserId}):Promise<any>{
      try{
        let currUserDocRef = doc(db,`users/${currUserId}`);
        updateDataFirebase(currUserDocRef,'following',id)

        return {data:'ok'} 
      }

      catch(err){
        return {error:err}
      }

    },invalidatesTags:['Posts','Users']
  })

GetPosts

GetPosts: builder.query<Posts[],void>({
      async queryFn(currUserId):Promise<any>{
        try{
          let followingsArr=await getFollowingArrFirebase(currUserId);
         //console.log(followingsArr)
          let tweetsArr: { }[]=[];
          const q=query(collection(db,'tweets'), where("creatorId", "in" , followingsArr))   
          tweetsArr=await getDataFirebase(q)
          return { data:tweetsArr }
        }

        catch(err:any){
          return{error:err} 
        }

    },providesTags: ['Posts']}),

推荐答案

解决了这个问题.我没有在返回promise 的函数调用之前使用等待

Reactjs相关问答推荐

ReferenceError:未在Redux组件中定义窗口

在构建或部署Reaction应用程序时出错

React组件未出现

使用 React + Vite 范围化 CSS

tRPC/react-query,在所有查询完成之前,组件不会收到任何 useQuery 的结果

在 useSelector() 中使用 array.map() 如何导致组件在分派操作时重新渲染?

Mui DataGrid 在第二页和前一页上显示项目时出现问题

从 redux 调用UPDATE_DATA操作时状态变得未定义

React - 函数组件 - 点击两次问题处理

在react 中从外部 api 渲染列表

@react-three/postprocessing 没有匹配的从 three.module.js 导出以导入WebGLMultisampleRenderTarget

DatePicker MUI 如何在日历左侧显示清除文本

antd 找不到 comments

如何在react 中更新子组件中的变量?

在 redux 中分派到另一个减少时状态值不会改变

在嵌套的 Stack Navigator 中的 BottomTabBar 中导航会导致比以前更多的渲染

React Router v6 - 访问嵌套路由和处理手写 url 的正确方法

是什么导致了这个令人惊讶的数组导致 React

useEffect 仅在跟随链接后有效,不适用于直接链接

如何在按钮左下角制作 Material UI 菜单下拉菜单