Код: Выделить всё
enter code hereимпортировать { useState } из "#app"
Код: Выделить всё
export default defineNuxtPlugin(async (nuxtApp) => {
const config = getEnv();
const currentPath = nuxtApp.ssrContext?.event.node.req.url || "unknown-path";
const lang = currentPath.split("/")[1]
try {
const { data, error } = await useAsyncData(
"mediaPagina-locales",
() =>
$fetch(`${config.API_URL}/api/pages?locale=${lang}&populate=*`, {
method: "GET",
}),
{
server: true,
lazy: false,
default: () => null,
stale: 60 * 1000 * 60 * config.LOCAL_CACHE_HOURS,
}
);
if (error.value) {
console.warn("⚠️ Error:", error.value);
return;
}
if (!data.value?.data) {
console.warn("⚠️ Error.");
return;
}
const pages = data.value.data;
console.log("✅ Error", pages.length, "entries");
useState("cookies_locales", () => pages.filter((i: any) => i?.page === "cookies"));
useState("cookies_seo_locales", () => pages.filter((i: any) => i?.page === "cookies/seo"));
} catch (err) {
console.error("❌ Error fetchPageData:", err);
}
});
Код: Выделить всё
enter code hereconst contactSeo = useState('cookies_seo_locales')
const seo = Computed(() => unref(cookies)[0]);
Это не работает, потому что переменная готова только после гидратации. Есть ли способ сделать это?
Подробнее здесь: https://stackoverflow.com/questions/798 ... al-api-ssr
Мобильная версия