При использовании модуля nuxt-apollo появляется ошибка
client.js:730 [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 <p>, or missing <tbody>. Bailing hydration and performing full client-side render.
Локализуя ее обнаружил что появляется при использоании в v-if="!$apollo.loading"
В чем возможная причина? Как корректно рендерить TheHeader после загрузки данных через Apollo?
Упрощенный пример:
// dafault.vue
<template>
<div>
<!-- Если убрать v-if="!$apollo.loading" проблема пропадает -->
<TheHeader v-if="!$apollo.loading" />
</div>
</template>
<script>
import gql from 'graphql-tag';
import TheHeader from '~/components/TheHeader';
export default {
components: {
TheHeader,
},
apollo: {
categories: {
query: gql`
query {
categories {
id
label
url
}
}
`,
update: (data) => data.categories,
},
},
};
</script>
// TheHeader.vue
<template>
<div>header</div>
</template>