'{}' 유형에 '' 속성이 없습니다.
P粉615829742
P粉615829742 2024-03-26 12:53:22
0
1
421

내 로그인 페이지에 대한 컨텍스트 후크를 설정하려고 합니다. 저는 타이프스크립트를 사용하고 있습니다. 컨텍스트 후크를 시작했지만 유형 선언에 문제가 있습니다. setUser를 사용하려고 하면 다음 오류가 나타납니다. 속성 'setUser'가 '{}' 유형에 존재하지 않습니다.

이것은 지금까지의 내 컨텍스트 후크입니다.

으아아아

제 로그인 코드입니다.

import { createContext, ReactNode, useEffect, useState } from "react"

interface Props {
    children?: ReactNode
}


export const UserContext = createContext({})

export function UserContextProvider({children}: Props) {
    const [user, setUser] = useState(null)
    return (
        <UserContext.Provider value={{user, setUser}}>
            {children}
        </UserContext.Provider>
    )
}

P粉615829742
P粉615829742

모든 응답(1)
P粉998100648

사용자 정의 속성이 없는 빈 개체인 UserContext 变量指定类型。因为您在 createContext 中为其指定了 {} 参数,所以 Typescript 假定上下文的类型为 React.Context<{}>。因此,当您尝试使用上下文对象时,您会得到一个 {}에는

가 필요합니다.

먼저 새 인터페이스를 정의하겠습니다. 원하는 경우 직접 입력해도 됩니다.

으아아아 UserContext

유형을 선언하려면 다음을 수행하세요.
  1. 유형과 일치하는 기본값 제공
  2. 으아아아
  3. 기본 컨텍스트 값을 빈 개체/null로 설정
  4. 으아아아
  5. 빈 객체의 유형 변환(형 안전성이 좋지 않음)
  6. 으아아아
  7. Non-null 어설션(형 안전성이 좋지 않음)
  8. 으아아아

이 중 일부의 경우 나중에 null 검사를 작성해야 합니다. 자세한 내용은 여기

를 참조하세요. 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿