使用 useReducer 和 useContext 粘贴令牌并获取未定义的第 2 部分

paste token using useReducer with useContext and get undefined part 2

是的,我知道这是我的第 2 部分问题。您可以在 . So in the part 1 my problem was solved and i didn't get undefined anymore but instead i get an empty object on console.log(stateAuth.auth). Please help me!

中查看第 1 部分

您的 DataProvider 组件中(至少)有两个错误。

const firstLogin = localStorage.getItem("firstLogin");
if (firstLogin === true) {
  async (token) => {
    const res = await fetch("http://localhost:3000/api/users/", {
...

对于 localStorage,所有内容都序列化为 string,因此 firstLogin 将是 string,并且永远不会 === true===是严格的相等性检查。

firstLogin设置在哪里?如果 属性 不存在于 localStorage 中,获取令牌是否有意义,因为新用户不会有任何数据?


在该代码块内,您编写了一个 async 函数,该函数接受 token 并执行一些操作。您不 调用 这个函数,也不将它保存到变量中。你只是...写它。我收到一个 eslint 错误“预期的赋值或函数调用,而是看到了一个表达式。”在这整个部分。

这个 token 变量应该来自哪里?