index.js 1020 字节
Newer Older
1 2
import React from 'react'
import Link from 'next/link'
3
import { useRouter } from 'next/router'
4

J
JJ Kasper 已提交
5
// eslint-disable-next-line camelcase
6 7 8 9 10
export async function unstable_getStaticPaths() {
  return [
    '/blog/post-1',
    { params: { post: 'post-2' } },
    '/blog/[post3]',
J
Joe Haddad 已提交
11
    '/blog/post-4',
12 13
    '/blog/post.1',
  ]
J
JJ Kasper 已提交
14
}
15

J
JJ Kasper 已提交
16
// eslint-disable-next-line camelcase
17
export async function unstable_getStaticProps({ params }) {
J
JJ Kasper 已提交
18 19 20 21
  if (params.post === 'post-10') {
    await new Promise(resolve => {
      setTimeout(() => resolve(), 1000)
    })
22 23
  }

24 25 26 27
  if (params.post === 'post-100') {
    throw new Error('such broken..')
  }

J
JJ Kasper 已提交
28 29 30
  return {
    props: {
      post: params.post,
31
      time: (await import('perf_hooks')).performance.now(),
J
JJ Kasper 已提交
32
    },
33
    revalidate: 10,
34 35
  }
}
J
JJ Kasper 已提交
36 37 38 39 40 41

export default ({ post, time }) => {
  return (
    <>
      <p>Post: {post}</p>
      <span>time: {time}</span>
42
      <div id="query">{JSON.stringify(useRouter().query)}</div>
43 44
      <Link href="/">
        <a id="home">to home</a>
J
JJ Kasper 已提交
45 46 47 48
      </Link>
    </>
  )
}