https://github.com/MrFiniOrg/AxiosQuestion
我想有我的项目设置,使我不必在每个http调用指定相同的请求头。
我已经在网上搜索了这个,但我一直没能在我的项目中完成这个。
请有人帮助我解决这个问题,我有。我是新的React和axios,我不知道如何配置这个。
我的项目似乎是这样做的,但它是发送请求2次。一个与头部和一个没有。
我的axios调用可以在app.js类组件中找到
https://github.com/MrFiniOrg/AxiosQuestion
我想有我的项目设置,使我不必在每个http调用指定相同的请求头。
我已经在网上搜索了这个,但我一直没能在我的项目中完成这个。
请有人帮助我解决这个问题,我有。我是新的React和axios,我不知道如何配置这个。
我的项目似乎是这样做的,但它是发送请求2次。一个与头部和一个没有。
我的axios调用可以在app.js类组件中找到
5条答案
按热度按时间lrpiutwd1#
您可以指定将应用于每个请求的配置默认值。
欲了解更多具体信息,请访问他们的文档。
index.js
文件中[也就是顶层的'root'文件]你可以配置你的request/ response
方法。axios.js
文件的一个新示例,然后在你可能需要的组件中单独导入配置。你可以命名它,例如axiosConfig.js
**,然后把你的特定配置放在里面。类似于这样:之后,您可以将此文件导入到需要它的组件,并使用它来代替之前的Axios [* node_modules *]导入,如下所示:
***注意:***您可以根据需要组合使用这两种方法,但请记住,在
configAxios.js
文件中进行的配置将覆盖在index.js
文件中进行的配置[如果配置相同,即:)]qlvxas9a2#
通过使用拦截器,它在每个请求上运行,因此如果令牌更改(刷新),则下一个请求将拾取新令牌。检查请求中的现有值以允许覆盖标头。假设我们正在使用任何令牌生成器并更新本地存储中的令牌。这里我们使用存储在localStorage中的keyclock对象
8wigbo563#
我也遇到了同样的问题,解决方案是在
index.js
中找到它们:此外,我使用
.env
文件来保存例如基本URL:.环境生产
.环境发展
当您在本地运行时,将使用 .env.development,对于生产构建(
npm run build
),将使用 .env.production。.env
的更多信息:https://facebook.github.io/create-react-app/docs/adding-custom-environment-variableswmvff8tz4#
您可以将其放入一个文件中(如here所述),然后将其导入顶层
而不是在顶层添加以下代码:
b1payxdu5#
我有一个简单的方法来为请求头设置axios配置,它可以处理全局错误。
});
注意:基本URL是从另一个文件导入的,而useAuthStore是来自zustand的自定义钩子,用于存储用户状态以进行授权。