the heroid type is string, I try to convert to number always show error.
code:
import useHero from '../../hooks/useHero';
import {useParams} from 'react-router-dom'
function Herospages() {
const {heroId} = useParams()
const value = parseInt(heroId)
const{data,isLoading} = useHero(value)
...}
the useHero is my hook from useQuery
error:
Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
Type 'undefined' is not assignable to type 'string'
CodePudding user response:
const value = parseInt(heroId!)
makes your variable non-nullable
CodePudding user response:
I guess your problem is here:
const {heroId} = useParams()
If you hover over heroId i guess it will display you const hero: string | undefined
This means heroId could possibly be undefined
But parseInt() expects an string
This means: It expects string but you pass in string | undefined
You need to check first if its undefined:
const {heroId} = useParams()
if(heroId === undefined) return
