I am using NuxtJS with Vuetify and I have the following (shortened) component
<template>
<v-card nuxt :to="`/article/${id}`">
<v-card-actions>
<v-btn active-class="no-active" text nuxt :to="`/newspaper/${newspaper.latName}`">
<v-icon>mdi-text-box</v-icon>
{{ newspaper.araName }}
</v-btn>
<v-btn text class="mr-2">
<v-icon>mdi-clock-outline</v-icon>
{{ since }}
</v-btn>
</v-card-actions>
</v-card>
</template>
This gives me the following warning in the browser console:
[Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content. This is likely caused by incorrect HTML markup, for example, nesting block-level elements inside, or missing. Bailing hydration and performing full client-side render.
but the page still works and navigation still works too. If I replace one of the nuxt link with a function triggering a router push the warning goes away.
Why does this happen?
EDIT: This is how I use this component
<template>
<span>
<ArticleCard
v-for="(article, i) in articles"
:key="i"
v-bind="article"
></ArticleCard>
</span>
</template>