【发布时间】:2021-04-17 22:06:13
【问题描述】:
const router = useRouter()
const { photoId } = router.query
我在进行比较时收到此 Typescript 警告:
TS2367:此条件将始终返回“false”,因为类型 “数字”和“字符串” | string[]' 没有重叠。
这很有意义,所以我像这样对变量进行类型转换:
const router = useRouter()
const { photoId } = parseInt(router.query, 10)
但现在我收到了这个警告:
TS2345:“ParsedUrlQuery”类型的参数不可分配给 “字符串”类型的参数。
当我查看 NextJS 路由器的源代码时,我看到了:
interface ParsedUrlQuery extends NodeJS.Dict<string | string[]> { }
看起来我已经非常接近于得到我需要的东西了,它只是一个字符串,而不是一个字符串或字符串数组。我从这里去哪里?
【问题讨论】:
标签: javascript reactjs next.js