首页 > 解决方案 > 反应编程总是得到一个'未处理的拒绝(TypeError):setToken不是一个函数'

问题描述

我尝试使用 react 和教程编写登录表单,但它不起作用。请帮助我。

这是我的 Login.js 函数。

export default function Login(props) {
  const {setToken} = props;
  const [username, setUserName] = useState();
  const [password, setPassword] = useState();

  const handleSubmit = async e => {
    e.preventDefault();
    const token = await loginUser({
      username,
      password
    });
    setToken(token);
  }

这是我的 app.js 函数。

function setToken(userToken) {
  localStorage.setItem('token', JSON.stringify(userToken));
}

function getToken() {
  const tokenString = localStorage.getItem('token');
  const userToken = JSON.parse(tokenString);
  return userToken?.token
}

function App() {
  const {token, setToken} = useState();


  if(!token) {
    return <Login setToken={setToken} />
  }

  return (
    <div className="wrapper">
      ...
    </div>
  );
}

有人有同样的问题或知道如何解决这个问题吗?如果您需要完整的代码,只需回复或快速查看教程。我复制了代码。

标签: reactjsauthentication

解决方案


推荐阅读