gpt4 book ai didi

javascript - 如何将 NextJS router.query 转换为数字?

转载 作者:行者123 更新时间:2023-12-03 16:09:45 26 4
gpt4 key购买 nike

const router = useRouter()
const { photoId } = router.query
进行比较时,我收到此 Typescript 警告:

TS2367: This condition will always return 'false' since the types'number' and 'string | string[]' have no overlap.


这很有意义,所以我像这样对我的变量进行类型转换:
const router = useRouter()
const { photoId } = parseInt(router.query, 10)
但现在我收到了这个警告:

TS2345: Argument of type 'ParsedUrlQuery' is not assignable toparameter of type 'string'.


当我查看 NextJS 路由器的源代码时,我看到:
interface ParsedUrlQuery extends NodeJS.Dict<string | string[]> { }
看起来我非常接近获得我需要的东西,这只是一个字符串而不是字符串或字符串数​​组。我从这里去哪里?

最佳答案

您可以告诉编译器应如何处理该变量:

const photoId = parseInt(router.query.photoId as string, 10)
注意 router.query 的属性可以是 undefined .

关于javascript - 如何将 NextJS router.query 转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65692699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com