我目前正在按照官方教程学习Sveltekit。当我尝试将一些 TypeScript 与 load
函数混合时,我陷入了教程的
此页面。
当我使用箭头功能时,一切都检查得很完美:
import type { PageServerLoad } from './$types'
import { posts } from './data'
export const load: PageServerLoad = () => {
return {
summaries: posts.map(post => ({
slug: post.slug,
title: post.title,
}))
}
}
但是当我使用常规函数时,我收到此错误
'summaries' does not exist in type 'PageLoad'
:
import type { PageServerLoad } from './$types'
import { posts } from './data'
export function load(): PageServerLoad {
return {
summaries: posts.map(post => ({
slug: post.slug,
title: post.title,
}))
}
}
我认为这两个功能是等价的。我错过了什么吗?
感谢@jonrsharpe评论,现在我明白了两个函数之间的区别:箭头函数是PageServerLoad类型,但普通函数返回PageServerLoad。