首页 > 解决方案 > React/Redux:我没有设法用 Redux Wrap 包装我的 React 登录请求

问题描述

我有一个使用 React 的登录名,但没有 Redux 和 Axios。

我试图走得更远,并将它们放入我的登录名中。

我已经设法进行了注册,但是有了 JWT 令牌,它很快就会变得一团糟。

我也在寻找一些好的文档/教程,关于如何使用 Redux+Auth+Jwt,有一个教程(Bezkoder),但他使用了类,这触发了我。

在这里注册我不需要设置或捕获 JWT 令牌。做起来并不难。

export const registerUser = (data) => {
  return (dispatch) => {
  Axios.post('http://localhost:3000/api/signup', data)
  .then((res) => {
    dispatch({ type: REGISTER_USER, payload: data });
  })
  .catch((err) => console.log(err))
  };
};

在这里登录我设置了 JWT 令牌。如何从 fetch 切换到 Axios,并为 Redux 包装所有内容?

const login = () => {
    fetch("http://localhost:3000/api/login", {
  method: "post",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    user: {
      email: emailLogin,
      password: passwordLogin,
    },
  }),
})
  .then((res) => {
    if (res.ok) {
      console.log(res.headers.get("Authorization"));
      localStorage.setItem("token", res.headers.get("Authorization"));
      setIsAuth(true)
      return res.json();
    } else {
      return res.text().then((text) => Promise.reject(text));
    }
  })
  .then((json) => console.dir(json))
  .catch((err) => console.error(err));
  };

标签: reactjsreduxaxiosfetch

解决方案


推荐阅读