Heim > Fragen und Antworten > Hauptteil
P粉8232680062023-08-16 16:02:42
当对一个对象进行索引时,你需要使用 keyof
运算符。
来自 TypeScript 文档:
interface types { '0': JSX.Element; '1': JSX.Element; '2': JSX.Element; } export default function Economy(props: any) { const [step, setStep] = useState<keyof types>("0") const render = () => { const component: types = { '0': <Home />, '1': <Create />, '2': <Detail />, } return component[step] } return ( {render()} )
P粉0088297912023-08-16 14:40:17
您的step
具有number
类型,不能用于索引types
,因为types
只有1,2,3
。所以您可以手动将step
设置为keyof types
:
const [step, setStep] = useState<keyof types>(0)
由于step
是一个数字,您还需要键:
interface types { 0: JSX.Element; 1: JSX.Element; 2: JSX.Element; } const component: types = { 0: <Home />, 1: <Create />, 2: <Detail />, } return component[step] // 没有错误