⊗jsrtPmRtLd 30 of 47 menu

ตัวโหลดข้อมูลสำหรับเส้นทางใน React Router

ในบทเรียนที่แล้ว เราได้ดึงข้อมูลผลิตภัณฑ์จากที่จัดเก็บ ตอนนี้ต้องโหลดข้อมูลเหล่านั้นเข้าไปในองค์ประกอบเส้นทาง สำหรับสิ่งนี้จะใช้ฟังก์ชันตัวโหลด (loader) ตอนนี้เราจะสร้างมันขึ้นมา

เปิดไฟล์ root.jsx เพิ่มบรรทัดนำเข้า getProducts จาก forStorage.js ที่นี่:

import { getProducts } from '../forStorage'

ทันทีหลังจากบรรทัดนำเข้าและก่อนฟังก์ชัน Root ให้เขียนโค้ดฟังก์ชัน loader ซึ่งผ่าน getProducts จะคืนค่าข้อมูลผลิตภัณฑ์จากที่จัดเก็บให้เรา โดยทั่วไปแล้วฟังก์ชันแบบนี้ควรเขียนในไฟล์แยกต่างหาก แต่เราจะขี้เกียจสักหน่อย ดังนั้นอย่าใส่ใจกับคำเตือน:

export async function loader() { const products = await getProducts(); return { products }; }

ตอนนี้มาเพิ่มการนำเข้าตัวโหลดของเราใน main.jsx กัน ตัวโหลดนี้จะเป็นสำหรับราก ดังนั้นเราจะตั้งชื่อมันว่า rootLoader:

import Root, { loader as rootLoader } from './routes/root';

และเพิ่มมันเข้าไปในออบเจ็กต์เส้นทางของเราในคุณสมบัติ loader:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, children: [ { path: 'products/:productId', element: <Product />, }, ], }, ]);

นำแอปพลิเคชันที่คุณสร้างขึ้นในการมอบหมายงานสำหรับบทเรียนที่แล้วมา ใช้เนื้อหาจากบทเรียน เขียนฟังก์ชัน loader ในไฟล์ root.jsx สำหรับโหลดข้อมูลนักศึกษาและเพิ่มมันเข้าไปในออบเจ็กต์เส้นทางใน main.jsx

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ