我有一个钩子useAuth()在上下文中处理用户。
import { useContext } from "react";
import AuthContext from "../context/AuthContext_Provider"
//AuthContext has been declared: const AuthContext = createContext({});
const useAuth = () => {
return useContext(AuthContext)
}
export default useAuth
现在,我想知道h如何调用这个函数?
返回错误属性'auth'不存在类型'{}'.ts(2339)
const { auth } = useAuth()
如果我尝试添加任何类型any,object,{},React。上下文甚至{auth:{username:string}}像下面这样,我得到另一个错误说:预期0类型参数,但得到1.ts(2558)const { auth } = useAuth<any>()
This:
const AuthContext = createContext({});
没有关于上下文包含的类型的信息。如果您提供一个默认对象,那么您将获得所需的类型
const AuthContext = createContext({ auth: '' })
或者传入一个类型:
type AuthContextType = {
auth?: string
}
const AuthContext = createContext<AuthContextType>({})
看到操场