การส่ง thunk โดยตรงใน Redux
เมื่อเราส่งแอ็กชันจากคอมโพเนนต์ เราจะใช้ฮุค useDispatch ซึ่งคืนค่าเมธอด store dispatch เนื่องจากในคอมโพเนนต์ไม่มีการเข้าถึง store โดยตรง
ครั้งนี้ เราจำเป็นต้องได้วัตถุผู้ขายและทำเพียงครั้งเดียวเมื่อเริ่มแอปพลิเคชันของเรา เราสามารถทำได้จากไฟล์หลัก main.jsx ของแอปพลิเคชัน หลังจากที่ worker เริ่มทำงานแล้ว
มาเปิดแอปพลิเคชันสินค้าของเรา และในนั้นเปิดไฟล์ main.jsx แล้วนำเข้า thunk fetchSellers:
import { fetchSellers } from './parts/sellers/sellersSlice'
ในไฟล์นี้ เรามี store พร้อมใช้งาน ดังนั้นไม่ต้องใช้ฮุคอะไรที่นี่ และเราสามารถใช้เมธอด dispatch ของมันได้โดยตรง มาลองเพิ่มหลังจากบรรทัดนี้:
await worker.start({ onUnhandledRequest: 'bypass' })
เพิ่มบรรทัดต่อไปนี้:
store.dispatch(fetchSellers())
มาเริ่มแอปพลิเคชันของเรา ตอนนี้ในการ์ดสินค้ามีระบุผู้ขายแล้ว:
เปิดแอปพลิเคชันนักเรียนของคุณ เปิดไฟล์ main.jsx ในนั้น นำเข้า thunk fetchTeachers ของคุณและส่งมันด้วยเมธอด store.dispatch โดยตรง