【发布时间】:2021-09-14 00:48:32
【问题描述】:
我正在尝试将 auth0 与 nextJS 集成,但遇到 next.js Image 组件的问题。首先我们看一下代码:
import Image from "next/image"
import { useUser } from "@auth0/nextjs-auth0"
export default function Profile() {
const { user, error, isLoading } = useUser()
if (isLoading) return <div>Loading...</div>
if (error) return <div>{error.message}</div>
return (
user && (
<div>
<Image src={user.picture} alt={user.name} />
<h2>{user.name}</h2>
<p>{user.email}</p>
</div>
)
)
}
这基本上是他们的示例 nextjs 集成的直接副本,除了我将 img 标记更改为 nextjs Image 组件。即,这个:<Image src={user.picture} alt={user.name} /> 而不是这个<img src={user.picture} alt={user.name} />。
但是,这导致了打字稿错误——如下图所示:
在我看来,nextjs 图像组件需要 string | StaticImport 类型,而 auth0 设置了 string | null | undefined 类型 - 因此类型冲突,我收到错误。
假设这是正确的,知道如何解决这个问题吗?或者,如果问题是其他问题 - 知道问题是什么以及如何解决?
谢谢。
【问题讨论】:
-
你能 console.log(user) 吗?和类型(用户)?
标签: javascript reactjs next.js auth0