类型“{}”没有属性“”
P粉615829742
P粉615829742 2024-03-26 12:53:22
[React讨论组]

我正在尝试设置一个用于我的登录页面的上下文挂钩。我正在使用打字稿。我启动了上下文挂钩,但遇到了类型声明的问题。当我尝试使用 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 (
        
            {children}
        
    )
}

这是我的登录代码。

import { Link, Navigate } from "react-router-dom"
import axios from 'axios'
import { UserContext } from "../UserContext"


const Login = () => {
  const [email, setEmail] = useState('')
  const [password, setPassword] = useState('')
  const [redirect, setRedirect] = useState(false)
  **const {setUser} = useContext(UserContext)**

  async function handleLogin(e: any) {
    e.preventDefault()
    try {
      const userInfo = await axios.post('/auth/login', {email, password})
      setUser(userInfo)
      alert('Login')
      setRedirect(true)
    } catch (e) {
      alert('Login failed')
    }
  }

  if(redirect){
    return 
  }

  return (
    

Login

setEmail(e.target.value)}/> setPassword(e.target.value)}/>
Don't have an account? Sign Up
) } export default Login

P粉615829742
P粉615829742

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号