The revalidate property must be a number representing seconds, not a string.
Step 2: Verify other parts
props is correctly an object, getStaticProps can be async, and fallback is unrelated here.
Final Answer:
revalidate must be a number, not a string -> Option A
Quick Check:
revalidate type must be number = C [OK]
Hint: revalidate must be numeric seconds, not string [OK]
Common Mistakes:
Passing revalidate as string instead of number
Thinking getStaticProps can't be async
Confusing fallback with revalidate
5. You want a blog page to update its static content every 5 minutes but also show a fallback loading page on first visit to new posts. Which ISR setup is correct?
hard
A. Use getStaticProps with revalidate: 300 and fallback: 'blocking' in getStaticPaths
B. Use getServerSideProps with revalidate: 300
C. Use getStaticProps with revalidate: '300' and no fallback
D. Use getStaticPaths with fallback: false and no revalidate
Solution
Step 1: Understand ISR with fallback
To update static pages every 5 minutes (300 seconds) and show fallback loading for new pages, use revalidate: 300 in getStaticProps and fallback: 'blocking' in getStaticPaths.
Step 2: Check other options
Use getServerSideProps with revalidate: 300 uses server-side rendering, not ISR. Use getStaticProps with revalidate: '300' and no fallback has revalidate as string and no fallback. Use getStaticPaths with fallback: false and no revalidate disables fallback and revalidate, so no ISR updates or loading fallback.
Final Answer:
Use getStaticProps with revalidate: 300 and fallback: 'blocking' in getStaticPaths -> Option A
Quick Check:
ISR with fallback blocking and revalidate 300 = B [OK]
Hint: Combine revalidate with fallback: 'blocking' for ISR + loading [OK]
Common Mistakes:
Using server-side rendering instead of ISR
Passing revalidate as string
Setting fallback to false disables loading fallback
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.