动态内容静态化
在服务端将动态的内容渲染成静态页面之后,发送给客户端,这样就没有白屏时间,速度非常快。
getStaticProps 获取 posts
import {NextPage} from 'next';
import {getPosts} from '../../lib/posts';
type Props = {
posts:Post[]
}
const PostsIndex: NextPage<Props> = (props) => {
const {posts} = props
return (
<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的时候执行的