Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Випуск функції динамічного контенту"v9.0.012.06.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Динамічні Записи
Динамічний запис (dynamic record) — це файл вмісту, ідентифікація якого базується не на послідовному індексі чи іменованому варіанті, а на довільному наборі пар ключ-значення, оголошених у полі meta. Intlayer використовує ці поля як селектор під час виконання, що дозволяє адресувати записи CMS, вміст конкретного користувача або будь-які дані, ключі яких невідомі під час збирання проекту.
Оголошення динамічних записів
Скопіюйте код у буфер обміну
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abc",
userId: "user_123",
},
content: {
name: t({ en: "Widget Pro", fr: "Widget Pro" }),
description: t({ en: "The best widget.", fr: "Le meilleur widget." }),
},
} satisfies Dictionary;
export default dictionary;Скопіюйте код у буфер обміну
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abcd",
userId: "user_123",
},
content: {
name: t({ en: "Widget Lite", fr: "Widget Lite" }),
description: t({ en: "A lighter option.", fr: "Une option plus légère." }),
},
} satisfies Dictionary;
export default dictionary;Використання динамічних записів
Усі поля meta є обов'язковими в селекторі. Опущення будь-якого поля повертає null і є помилкою TypeScript.
Скопіюйте код у буфер обміну
import { useIntlayer } from "react-intlayer";
export const ProductCopy = ({
productId,
userId,
}: {
productId: string;
userId: string;
}) => {
const content = useIntlayer("product-copy", { id: productId, userId });
// TypeScript гарантує, що надано як `id`, так і `userId`.
if (!content) return null;
return <p>{content.description}</p>;
};З явною локаллю
Скопіюйте код у буфер обміну
Відсутність поля meta — помилка під час компіляції
Скопіюйте код у буфер обміну
Режим завантаження (loading mode)
Динамічні записи зазвичай завантажуються відкладено. Установіць importMode для словника, щоб налаштувати це:
Скопіюйте код у буфер обміну
const dictionary = {
key: "product-copy",
importMode: "fetch", // або "dynamic"
meta: { id: "prod_abc", userId: "user_123" },
content: { … },
} satisfies Dictionary;
export default dictionary;Детальніше про режими static, dynamic та fetch див. у розділі оптимізація пакетів.
Типові варіанти використання
- Маркетингові тексти для окремих продуктів, керовані в CMS
- Вміст конкретного користувача або облікового запису
- Будь-який вміст, що отримується на основі непрозорого runtime ID