Estou usando a consulta react para buscar dados em uma postagem do blog, de acordo com seu ID. Quando visito uma determinada postagem do blog e navego para outra, primeiro ele me apresenta os dados da postagem anterior e, em seguida, renderiza novamente a página com as novas informações. Parece que os dados são primeiro obtidos do cache e depois atualizados.
Código:
const BlogPost = () => {
// Getting the blogPostId from the Url
const { blogPostId } = useParams();
// Querying the blogPostData from the server using its id. (here is the problem probably...)
const { data: blogPostData } = useQuery<BlogPostType>({
queryKey: ["getBlogPost"],
queryFn: () => apiClient.getPostById(blogPostId),
});
return (
<div>
<h1>{blogPostData?.title}</h1>
<hr/>
<p>{blogPostData?.description}</p>
</div>
);
};
Qualquer solução? (Quero que os novos dados apareçam imediatamente)
O ID da postagem do blog deve fazer parte da chave.
Conforme documentado :
O mesmo padrão se aplica a
swr
, e na verdade é um tanto análogo ao quedeps
você dariauseEffect
.