开发者问题收集

无法将未定义或 null 转换为对象:Next.js || React

2020-07-24
5605

当前收到一条错误,指出 无法将未定义或 null 转换为对象

应用程序正在寻找的数据来自初始 props。 我假设在初始检查中没有数据,因此它会抛出该错误。

可以使用 async/await 解决此问题吗?

初始 posts_mentions 默认为空对象

以下是错误图像: 在此处输入图像描述

以下是当前代码片段

const { posts_mentions: postsMentions } = useData();
    const data = Object.keys(postsMentions).map(label => {
        return {
            name: shortName(label),
            posts: postsMentions[label].posts,
            mentions: postsMentions[label].mentions
        }
    })
2个回答
async function something(){
const { posts_mentions: postsMentions } = await useData();
 const data = Object.keys(postsMentions).map(label => {
    return {
        name: shortName(label),
        posts: postsMentions[label].posts,
        mentions: postsMentions[label].mentions
    }
})

Martin Červenka
2020-07-24

是的。尝试在 useData() 之前添加 await。如果这都是更大函数的一部分,则将其标记为异步。useData() 看起来怎么样?其中有异步的东西吗?

Martin Červenka
2020-07-24