如何通过 TypeScript 使用 Sveltekit 中的加载功能?

问题描述 投票:0回答:1

我目前正在按照官方教程学习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,
        }))
    }
}

我认为这两个功能是等价的。我错过了什么吗?

typescript sveltekit
1个回答
0
投票

感谢@jonrsharpe评论,现在我明白了两个函数之间的区别:箭头函数是PageServerLoad类型,但普通函数返回PageServerLoad。

© www.soinside.com 2019 - 2024. All rights reserved.