Next.js อะไรคือความแตกต่างระหว่างการใช้"revalidate"ตัวเลือกใน getStaticProps และใช้ SWR ห่อเหรอ?

0

คำถาม

Next.js มี"revalidate"ตัวเลือกออกมาจากกล่อง:

export async function getStaticProps(context) {
  const data = await getData();

  if (!data) {
    return {
      notFound: true,
    };
  }

  return {
    props: { data },
    revalidate: 60,
  }
}

ที่อยู่เหนือหัสจะทำให้แน่ใจว่านั่นเป็นหน้าเป็นถูกสร้างขึ้นใหม่หลังจาก 60 วินาทีจากช่วงเวลาที่เราร้องของปรับปรุงข้อมูล(นแรกการปรับปรุงใหม่เพื่อให้มีการร้องขอสำหรับสิ่งใหม่ของข้อมูลสองปรับปรุงต้องปรับปรุงหน้าเว็บ). นี่เป็นเรื่องเกี่ยวกับพวกที่ Incremental ในรูปของไฟฟ้าสถิตย์ Regenerationดังนั้นเว็บไซต์ไม่จำเป็นต้องเป็นอย่างสร้างใหม่.

จาก SWR docs:

ถ้าของหน้าจะมีบ่อยครั้งที่กำลังปรับปรุงข้อมูลและคุณไม่ต้อง ก่อนจัดการพาข้อมูล SWR คือเหมาะสมและไม่มีพิเศษตั้งค่าต้องการ: แค่นำเข้า useSWR และใช้ตะขอหนะแต่ข้างในได้ส่วนประกอบที่ใช้ ข้อมูล

ดังนั้นมันหมายถึงมันในกรณีนี้ useSWR คือเป็นเหมือนตอนที่ next.js "revalidate"ตัวเลือก? มันดูเหมือนว่าจะทำแบบเดียวกันแต่คุณเมาหมดสติบ่อยแค่ไหนที่ revalidation เกิดขึ้นงั้นเหรอ? มันมีประโยชน์เพื่อใช้หนึ่งในกันเหรอ?

next.js reactjs swr
2021-11-24 02:32:17
1

คำตอบที่ดีที่สุด

1

ไม่พวกเขาไม่ใช่คนเดียวกันและพอแตกต่างใช้-คดี

useSWR เป็นข้อมูลกำลังทำการดึงข้อมูลเกี่ยนั่นทำให้ caching และ อัตโนมัติ revalidation mechanisms(ซึ่งคุณสามารถควบคุม)เพื่อเก็บข้อมูลใหม่ที่ ลูกค้าของ-ด้าน. ข้อมูล revalidation จะเกิดขึ้นจากลูกค้าและจะเดียวผลประโยชน์ที่ยังโสดใช้งาน

ใช้ revalidate และ Incremental ในรูปของไฟฟ้าสถิตย์ Regeneration อนุญาตให้คุณ regenerate ในรูปของไฟฟ้าสถิตย์หน้าเว็บ เซิร์ฟเวอร์-side. ทั้งหมดหน้าเว็บถูกสร้างอีกครั้งบนเซิร์ฟเวอร์และ statically งแคชข้อมูล. อะไรต่อมาร้องขอ(จากไหนของผู้ใช้)จะถูกรับใช้สร้างใหม่หน้า.

ใช้อยู่แค่อย่างใดอย่างหนึ่งแล้วแต่ทั้งหมดของคุณความต้องการและพวกเขาไม่ได้อย่างนั้นสำหรับเจ้าพิเศษเฉพาะเรา....ภาพที่\n-คุณสามารถใช้ได้ทั้งสองในเวลาเดียวกัน

2021-11-24 08:43:12

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่