next.js 类型“Dict< string”中缺少属性“X”|string[]>'但在类型'Query'中是必需的

a11xaf1n  于 2023-06-05  发布在  其他
关注(0)|答案(1)|浏览(145)

这是怎么了?

interface Query {
    userId: string
}

function ConfirmEmail(props: ConfirmEmailProps) {
    const router = useRouter()
    const { userId } = router.query as Query // <-- error here
    useEffect(() => {
        let data = { userId: userId }
        axios
            .post(`confirmEmail`, data)
            .then((resp) =>
                setTimeout(() => {
                    redirectToHome()
                }, 3000)
            )
            .catch((err) => console.error(err))
    })

虽然它在这里工作,没有错误,我使用相同的模式:

interface MyTicketListProps {}
interface Query {
    [key: string]: string | string[]
    paymentId: string
}
export default function MyTicketList(props: MyTicketListProps) {
    const router = useRouter()
    const dispatch = useAppDispatch()
    const { paymentId } = router.query as Query

第一个案件档案有[]左右,这可能有关系吗?pages/confirmEmail/[userId]
第二种情况是周围没有[]。

b4wnujal

b4wnujal1#

我认为你必须这样写你的代码...

const { userId } = router.query as NodeJS.Dict<string | string[]>

更多详情请参阅link

相关问题