不用 bootstrapUser,直接去将 token 给 user,这样行不?

来源:5-8 用useHttp管理JWT和登录状态,保持登录状态

All_Good

2021-12-11

老师的 code:

/* 页面刷新,去拿用户的基本信息 */
const bootstrapUser = async () => {
  let user = null;

  const token = Auth.getToken();

  if (token) {
    const data = await http("me", { token });
    user = data.user;
  }

  return user;
};

// 初始化
 useMount(() => {
    bootstrapUser().then(setUser);
  });

学生的 code:

 useMount(() => {
    const token = Auth.getToken();

    if (token) {
      setUser({ ...user, token } as User);
    }
  });

这样写,会不会有些场景没考虑到?

写回答

1回答

Nolan

2021-12-14

第二份代码的user从哪里来呢?bootstrapUser就是为了用token获取user信息的

0
1
All_Good
哦哦,明白了。 我知道为什么我 list table 正常运行的。 因为有 token, 就能正常获取 /projects 的数据。然后,当时没注意到 user 信息。 谢谢老师。
2021-12-14
共1条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程