对严格接收 string 类型参数的函数使用useRouter会产生以下错误:
键入'string|字符串[]|“undefined”不能赋值给类型“string”。类型“undefined”不能赋值给类型“string”
有没有办法在不使用隐式类型的情况下修复错误?
import { useRouter } from 'next/router'
import { useBlogQuery } from '@graphql/generated'
const router = useRouter()
const blogId = router.query.blogId
const BlogQuery = useBlogQuery({
variables: {
id: blogId
},
})
1条答案
按热度按时间drnojrws1#
这实际上是一个有用的类型检查错误。
考虑:
router.query.blogId = [1, 2]
router.query.blogId = 1
如果您100%确定情况1和2永远不会发生,则可以执行此操作:
但最好在
blogId
是undefined
还是数组周围添加一些逻辑。