Next.js Discord

Discord Forum

function don't alter state

Unanswered
West African Lion posted this in #help-forum
Open in Discord
West African LionOP
I have a function for login, but is doesn't change the error state.

    const { login } = useAuth()
    const [erro, setErro] = useState(null)
    const [email, setEmail] = useState('')
    const [password, setPassword] = useState('')

    async function handleLogin(e: any) {
        e.preventDefault()
        
        const data = {
            email,
            password
        }
        try {
            await login(data)
        } catch (erro) {
            console.log(erro)
            setErro(erro)
            return
        }

        setErro(null)
    }

async function login(data: LoginData) {
        setLoading(true)
        
        const response = await fetch(BASE_URL_API + '/login', {
            method: 'POST',
            body: JSON.stringify(data)
        })

        if (!response.ok) {
            const responseObj = await response.json()
            setLoading(false)
            throw new Error(responseObj.erro)
        }

        const { token, user } = await response.json()

        Cookies.set('token', token, {
            expires: 7/24
        })

        setUser(user)
        router.push('/chat')
        setLoading(false)
        return
    }

0 Replies