当前位置:首页 > 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 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行记忆化,避免不必要的重新渲染。类组件可以使用 PureCompo…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

react如何安装

react如何安装

安装React的步骤 确保已安装Node.js(建议版本12或更高),可通过以下命令检查版本: node -v npm -v 使用Create React App快速搭建项目(推荐): npx c…

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

react native如何

react native如何

React Native 基础知识 React Native 是一个由 Facebook 开发的框架,用于使用 JavaScript 和 React 构建跨平台移动应用。它允许开发者编写一次代码,同时…