Dalam Next.js, mengendalikan data antara halaman dan komponen adalah penting. Apabila menggunakan getServerSideProps() untuk mengambil data API dalaman, adalah penting untuk mengikuti amalan terbaik untuk meningkatkan SEO dan mengekalkan kecekapan kod. Artikel ini meneroka pendekatan alternatif yang disyorkan dalam dokumentasi Next.js, memberikan pemahaman yang mendalam dan contoh praktikal.
Walaupun kemudahan mengambil dalaman API yang menggunakan fetch() dalam getServerSideProps(), ia tidak digalakkan oleh Next.js. Sebaliknya, adalah disyorkan untuk terus menggunakan logik laluan API dalam getServerSideProps() atas sebab berikut:
Untuk mengatasi cabaran ini, ekstrak data mengambil logik daripada laluan API anda ke dalam fungsi yang berasingan. Fungsi ini kemudiannya boleh diimport dan digunakan dalam kedua-dua laluan API anda dan dalam getServerSideProps(), memastikan kecekapan kod dan menghapuskan keperluan untuk panggilan API luaran.
Contoh:
// pages/api/user.js // Data fetching function export async function getData() { const response = await fetch(/* external API endpoint */); const jsonData = await response.json(); return jsonData; } // API route handler export default async function handler(req, res) { const jsonData = await getData(); res.status(200).json(jsonData); }
// pages/home.js // Import the data fetching function import { getData } from './api/user'; // getServerSideProps export async function getServerSideProps(context) { const jsonData = await getData(); // ... other logic }
Dengan mengikuti pendekatan ini, anda boleh menggunakan data yang diperlukan dalam kedua-dua laluan API anda dan dalam getServerSideProps() dengan cekap dan dengan peningkatan kebolehselenggaraan kod. SEO tidak terjejas kerana kandungan halaman masih dipaparkan pada bahagian pelayan dengan data yang diperlukan.
Dari segi caching, pendekatan yang mudah ialah menggunakan perpustakaan SWr dalam komponen pihak pelanggan. Walau bagaimanapun, untuk caching sebelah pelayan bagi data yang diambil dalam getServerSideProps(), pertimbangan tambahan diperlukan.
Salah satu pendekatan adalah untuk melaksanakan mekanisme caching anda sendiri menggunakan pangkalan data atau cache dalam memori dalam getServerSideProps(). Sebagai alternatif, terokai penyelesaian caching pihak ketiga khusus yang direka untuk digunakan dengan Next.js. Adalah penting untuk menilai kes penggunaan dan keperluan khusus anda untuk menentukan strategi caching yang paling sesuai.
Dengan menerima amalan terbaik dan melaksanakan mekanisme caching yang sesuai, anda boleh mengoptimumkan pengambilan data dan keupayaan caching aplikasi Next.js anda, memastikan prestasi cekap dan pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengambil Data API Dalaman dalam Next.js menggunakan getServerSideProps()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!