首页 > 解决方案 > 我在哪里把我的配置放在这个 axios 请求中?

问题描述

如果我将我的配置作为第二个参数,我的取消令牌(第三个参数)将被忽略。但是我需要 Authorization 标头,因为此获取请求将(但还没有!)在我的节点 API 上的身份验证中间件后面。所以我的问题是:我在哪里放置我的配置?

  const config = {
    headers: {
      Authorization: `Bearer ${localStorage.getItem("token")}`,
    },
  };

  const getBoards = async (cancelToken) => {
    try {
      if (localStorage.getItem("token") == null) {
        throw new Error();
      }

      const response = await Axios.get("/boards", {
        cancelToken: cancelToken.token,
      });
      setBoards(response.data);
    } catch (e) {}
  };

  useEffect(() => {
    const request = Axios.CancelToken.source();
    getBoards(request);
    return () => {
      request.cancel();
    };
  }, []);

标签: javascriptreactjsaxioscreate-react-app

解决方案


在同一个对象中传递它们。

const response = await Axios.get("/boards", {
    headers: {},
  cancelToken: cancelToken.token,
});

推荐阅读