当前位置:首页 > React

react你如何使用axios

2026-03-31 15:33:57React

安装axios

在React项目中使用axios前,需先安装axios库。通过npm或yarn安装:

npm install axios
# 或
yarn add axios

引入axios

在需要发送HTTP请求的组件中引入axios:

import axios from 'axios';

发送GET请求

通过axios.get()方法获取数据,通常结合useEffect和useState处理异步数据:

import React, { useState, useEffect } from 'react';

function App() {
  const [data, setData] = useState([]);

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

  return <div>{/* 渲染数据 */}</div>;
}

发送POST请求

使用axios.post()提交数据,通常用于表单提交:

const handleSubmit = async (formData) => {
  try {
    const response = await axios.post('https://api.example.com/submit', formData);
    console.log('Response:', response.data);
  } catch (error) {
    console.error('Error:', error);
  }
};

配置全局默认值

可设置axios的全局配置(如基础URL、请求头):

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

拦截请求与响应

通过拦截器统一处理请求或响应(如添加Token、错误处理):

// 请求拦截器
axios.interceptors.request.use(config => {
  config.headers.Authorization = 'Bearer token';
  return config;
});

// 响应拦截器
axios.interceptors.response.use(
  response => response,
  error => {
    if (error.response.status === 401) {
      // 处理未授权错误
    }
    return Promise.reject(error);
  }
);

取消请求

使用CancelToken取消未完成的请求(如组件卸载时):

const source = axios.CancelToken.source();

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

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

处理并发请求

通过axios.all()同时发送多个请求:

react你如何使用axios

axios.all([
  axios.get('https://api.example.com/users'),
  axios.get('https://api.example.com/posts')
])
.then(axios.spread((usersResponse, postsResponse) => {
  console.log('Users:', usersResponse.data);
  console.log('Posts:', postsResponse.data);
}));

分享给朋友:

相关文章

react如何记忆

react如何记忆

React 记忆技术 在 React 中,记忆(Memoization)是一种优化技术,用于避免不必要的重新渲染或计算。React 提供了多种内置方法和第三方库来实现记忆功能。 useMemo Ho…

java如何使用

java如何使用

Java 基本使用方法 Java 是一种广泛使用的编程语言,适用于开发各种类型的应用程序。以下是 Java 的基本使用方法,包括环境配置、语法基础和常用操作。 安装 Java 开发环境 下载并安装…

react如何建项目

react如何建项目

创建React项目的几种方法 使用官方工具Create React App(CRA) npx create-react-app my-app 这条命令会创建一个名为my-app的新React项目,包含…

react如何使用swiper

react如何使用swiper

安装 Swiper 依赖 在 React 项目中使用 Swiper 前,需要安装 Swiper 的核心库和 React 组件库。通过 npm 或 yarn 安装以下依赖: npm install s…

react如何引用传递

react如何引用传递

引用传递的概念 在React中,引用传递(Ref Forwarding)是一种将ref属性自动传递给子组件的技术。这对于高阶组件(HOC)或封装第三方组件时非常有用,允许父组件直接访问子组件的DOM节…

react如何删除节点

react如何删除节点

删除 React 节点的方法 在 React 中删除节点通常涉及更新组件的状态或条件渲染。以下是几种常见的方法: 条件渲染 通过条件判断控制节点的渲染。当条件为 false 时,React 不会渲…