所以我有这个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']}),