我正在使用Next JS的新数据获取功能从API加载数据并将其分配给一个名为“contact”的变量。然而,我遇到了错误消息“变量”contact“在分配之前已使用”。
我想确保我正确地处理这种情况,并防止错误发生。如何正确地构建服务器操作以从API加载数据并将其分配给“contact”,以便解决错误,并按预期使用数据?
export default async function Page() {
let contact: Contact
try {
[contact] = await getContact(104);
} catch (e: FetchError) {
console.log(e.message)
}
......
<EditContactForm contact={contact}/> <-- Variable is used before being assigned
2条答案
按热度按时间6qftjkof1#
TS认为
contact
在使用时没有必要具有值。添加一个守卫:
这将确保
EditContactForm
仅在定义contact
时才呈现。rslzwgfq2#
这是因为“contact”变量在被赋值之前就被使用了。
若要修复此问题,您可以使用默认值初始化“contact”变量,或处理API调用失败且“contact”仍未定义的情况。