Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Lịch sử phiên bản
- "Khởi tạo lịch sử"v5.5.1029/6/2025
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Tích hợp React: Tài liệu Hook useDictionary
Phần này cung cấp hướng dẫn chi tiết về cách sử dụng hook useDictionary trong các ứng dụng React, cho phép xử lý hiệu quả nội dung địa phương hóa mà không cần trình chỉnh sửa trực quan.
Nhập useDictionary trong React
Hook useDictionary có thể được tích hợp vào các ứng dụng React bằng cách nhập nó tùy theo ngữ cảnh:
Client Component (Thành phần phía khách hàng):
typescriptSao chép mãSao chép mã vào clipboard
import { useDictionary } from "next-intlayer"; // Sử dụng trong các thành phần React phía khách hàngServer Component (Thành phần phía máy chủ):
typescriptSao chép mãSao chép mã vào clipboard
import { useDictionary } from "next-intlayer/server"; // Sử dụng trong các thành phần React phía máy chủ
Tham số
Hook nhận hai tham số:
dictionary: Một đối tượng từ điển đã được khai báo chứa nội dung được bản địa hóa cho các khóa cụ thể.locale(tùy chọn): Ngôn ngữ mong muốn. Mặc định là ngôn ngữ của ngữ cảnh hiện tại nếu không được chỉ định.
Từ điển
Tất cả các đối tượng từ điển nên được khai báo trong các tệp nội dung có cấu trúc để đảm bảo an toàn kiểu và ngăn ngừa lỗi thời gian chạy. Bạn có thể tìm thấy hướng dẫn thiết lập tại đây. Dưới đây là một ví dụ về khai báo nội dung:
Sao chép mã vào clipboard
import { t, type Dictionary } from "intlayer";
const exampleContent = {
key: "component-example",
content: {
title: t({
en: "Client Component Example",
fr: "Exemple de composant client",
es: "Ejemplo de componente cliente",
}),
content: t({
en: "This is the content of a client component example",
fr: "Ceci est le contenu d'un exemple de composant client",
es: "Este es el contenido de un ejemplo de componente cliente",
}),
},
} satisfies Dictionary;
export default exampleContent;Ví dụ sử dụng trong React Client Component
Dưới đây là ví dụ về cách sử dụng hook useDictionary trong một component React:
Sao chép mã vào clipboard
"use client";
import type { FC } from "react";
import { useDictionary } from "next-intlayer";
import clientComponentExampleContent from "./component.content";
const ClientComponentExample: FC = () => {
const { title, content } = useDictionary(clientComponentExampleContent);
return (
<div>
<h1>{title}</h1>
<p>{content}</p>
</div>
);
};Ví dụ sử dụng trong React Server Component
Nếu bạn sử dụng hook useDictionary bên ngoài IntlayerServerProvider, bạn phải cung cấp rõ locale như một tham số khi render component:
Sao chép mã vào clipboard
import type { FC } from "react";
import { useDictionary } from "next-intlayer/server";
import clientComponentExampleContent from "./component.content";
const ServerComponentExample: FC = () => {
const { content } = useDictionary(clientComponentExampleContent);
return (
<div>
<h1>{content.title}</h1>
<p>{content.content}</p>
</div>
);
};Ghi chú về Thuộc tính
Không giống như các tích hợp sử dụng trình chỉnh sửa trực quan, các thuộc tính như buttonTitle.value không áp dụng ở đây. Thay vào đó, truy cập trực tiếp các chuỗi đã được bản địa hóa như đã khai báo trong nội dung của bạn.
Sao chép mã vào clipboard
<button title={content.title}>{content.content}</button>Mẹo bổ sung
- An toàn kiểu: Luôn sử dụng
Dictionaryđể định nghĩa các từ điển của bạn nhằm đảm bảo an toàn kiểu. - Cập nhật bản địa hóa: Khi cập nhật nội dung, hãy đảm bảo tất cả các ngôn ngữ đều nhất quán để tránh thiếu bản dịch.
Tài liệu này tập trung vào việc tích hợp hook useDictionary, cung cấp một phương pháp đơn giản hóa để quản lý nội dung bản địa hóa mà không phụ thuộc vào các chức năng của trình chỉnh sửa trực quan.