动态内容静态化
在服务端将动态的内容渲染成静态页面之后,发送给客户端,这样就没有白屏时间,速度非常快。
getStaticProps 获取 posts
import {NextPage} from 'next';import {getPosts} from '../../lib/posts';type Props = {posts:Post[]}const PostsIndex: NextPage<Props> = (props) => {const {posts} = propsreturn (<div><h1>文章列表</h1>{posts.map(p =><div key={p.id}>{p.id}</div>)}</div>);};export default PostsIndex;export const getStaticProps = async () =>{const posts = await getPosts()return {props:{posts:JSON.parse(JSON.stringify(posts))}}};
要记住的是,getStaticProps是在build的时候执行的
