当前位置:首页 > React

react如何使用axios

2026-02-12 01:12:37React

使用 Axios 在 React 中发送 HTTP 请求

安装 Axios 包 通过 npm 或 yarn 安装 axios:

npm install axios
# 或
yarn add axios

引入 Axios 在组件文件中导入 axios:

import axios from 'axios';

发送 GET 请求 使用 axios.get 方法获取数据:

axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });

发送 POST 请求 使用 axios.post 方法提交数据:

axios.post('https://api.example.com/data', { name: 'John' })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error posting data:', error);
  });

使用 async/await 语法 在异步函数中使用 await 处理 axios 请求:

react如何使用axios

async function fetchData() {
  try {
    const response = await axios.get('https://api.example.com/data');
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

创建 Axios 实例 可以创建自定义配置的 axios 实例:

const api = axios.create({
  baseURL: 'https://api.example.com',
  timeout: 5000,
  headers: { 'Authorization': 'Bearer token' }
});

处理响应数据 axios 响应对象包含以下主要属性:

  • data: 服务器返回的数据
  • status: HTTP 状态码
  • headers: 响应头信息

处理错误 捕获请求过程中可能出现的错误:

react如何使用axios

axios.get('https://api.example.com/data')
  .then(response => {
    // 处理成功响应
  })
  .catch(error => {
    if (error.response) {
      // 服务器返回了非2xx状态码
      console.log(error.response.status);
    } else if (error.request) {
      // 请求已发出但无响应
      console.log('No response received');
    } else {
      // 设置请求时出错
      console.log('Error', error.message);
    }
  });

取消请求 使用取消令牌取消正在进行的请求:

const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios.get('https://api.example.com/data', {
  cancelToken: source.token
}).catch(thrown => {
  if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  }
});

// 取消请求
source.cancel('Operation canceled by user.');

全局配置 可以设置 axios 的全局默认值:

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = 'Bearer token';

拦截请求和响应 添加请求和响应拦截器:

// 请求拦截器
axios.interceptors.request.use(config => {
  // 在发送请求前做些什么
  return config;
}, error => {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 响应拦截器
axios.interceptors.response.use(response => {
  // 对响应数据做点什么
  return response;
}, error => {
  // 对响应错误做点什么
  return Promise.reject(error);
});

分享给朋友:

相关文章

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。…

react如何刷新

react如何刷新

刷新React组件的方法 使用状态更新触发重新渲染 通过更新组件的状态可以触发重新渲染。React会在状态变化时自动重新渲染组件。 const [count, setCount] = useStat…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…

react elementUI

react elementUI

React 和 Element UI 是两个不同的技术栈,但可以通过整合实现类似功能。以下是相关解决方案和替代方案: React 与 Element UI 的替代方案 Element UI 是为 V…

vscode如何开发react

vscode如何开发react

使用 VSCode 开发 React 的配置指南 安装必要工具 确保 Node.js 和 npm/yarn 已安装,可以通过终端输入 node -v 和 npm -v 检查版本。若未安装,需从官网下载…