【问题标题】:Reactjs Unhandled Rejection (TypeError): context is not a functionReactjs 未处理的拒绝(TypeError):上下文不是函数
【发布时间】:2021-08-22 23:26:26
【问题描述】:

我正在使用 ReactJs,并尝试在按下登录时使用上下文来更改主页的状态。 setAuthState 是我试图用来改变状态的东西。但是,它一直给我Unhandled Rejection (TypeError): setAuthState is not a function。我已经导入了 useContext 和 useState 以及创建上下文的 AuthContext 文件。

登录.js

import React, { useState, useContext } from "react";
import { AuthContext } from "../context/AuthContext";

const { setAuthState } = useContext(AuthContext);

const login = () => {
    const data = { username: username, password: password };
    axios.post("http://localhost:3001/auth/login", data).then((response) => {
        if (response.data.error) {
            alert(response.data.error);
        } else {
            alert("Login successful");
            localStorage.setItem("accessToken", response.data);
            setAuthState(true);
        }
    })
};

AuthContext.js

import { createContext } from "react";

export const AuthContext = createContext({});

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    您需要为调度创建另一个函数。你可以看看下面的沙箱。此链接将对您有所帮助。

    Codebase

    如果您需要更多解释,请查看this

    【讨论】:

      猜你喜欢
      • 2017-11-23
      • 1970-01-01
      • 2018-12-09
      • 2021-10-14
      • 2020-11-16
      • 2020-05-06
      • 2019-10-27
      • 2020-09-26
      • 2021-04-16
      相关资源
      最近更新 更多