index.js 1000 字节
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 11 12
export async function unstable_getStaticPaths() {
  return [
    '/blog/post-1',
    { params: { post: 'post-2' } },
    '/blog/[post3]',
    '/blog/post.1',
  ]
J
JJ Kasper 已提交
13
}
14

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

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

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

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