>  Q&A  >  본문

유효한 입력 방법: 조건부 렌더링 제어 가이드

<p>조건부 렌더링을 시작하려고 하는데 오류가 발생합니다. <code> 'number' 유형의 표현식을 'types' 유형을 색인화하는 데 사용할 수 없기 때문에 <code>요소에 암시적으로 'any' 유형이 있습니다. 'types' 유형에서 'number' 유형의 매개변수가 있는 인덱스 서명을 찾을 수 없습니다.</code> 모든 항목이 "any"인 경우 렌더링이 유효합니다. </p> <pre class="brush:php;toolbar:false;">인터페이스 유형 { '0': JSX.요소; '1': JSX.요소; '2': JSX.요소; } 기본 함수 내보내기 Economy(props: any) { const [단계, setStep] = useState(0) const 렌더링 = () => const 구성 요소: 유형 = { '0': <홈 />, '1': <만들기/>, '2': <세부정보 />, } 구성요소 반환[단계] } 반품 ( {세우다()} )</pre> <p>이 조건부 렌더링에 유형을 추가하는 방법을 이해하는 데 도움을 줄 수 있는 사람이 있습니까? </p> <p>이 조건부 렌더링에 대한 유형을 추가하는 방법을 이해해야 합니다</p>
P粉550257856P粉550257856453일 전481

모든 응답(2)나는 대답할 것이다

  • P粉823268006

    P粉8232680062023-08-16 16:02:42

    객체를 인덱싱할 때는 keyof 연산자를 사용해야 합니다. TypeScript 문서에서:

    으아악

    회신하다
    0
  • P粉008829791

    P粉0088297912023-08-16 14:40:17

    당신의step具有number类型,不能用于索引types,因为types只有1,2,3。所以您可以手动将step设置为keyof types:

    으아악

    step은 숫자이므로 다음 키도 필요합니다:

    으아악

    회신하다
    0
  • 취소회신하다