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] // 没有错误