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

react如何验证

react如何验证

表单验证方法 在React中验证表单数据通常使用以下几种方式: 内置HTML5验证 利用HTML5原生表单验证属性如required、pattern等,结合form.noValidate属性禁用浏览…

react如何迭代

react如何迭代

在 React 中迭代数组或对象 React 提供了多种方式来处理数组或对象的迭代,以下是常见的方法: 使用 map 方法迭代数组 map 是 JavaScript 数组的内置方法,常用于在 Rea…

如何提高react

如何提高react

优化性能 使用React.memo对组件进行记忆化处理,避免不必要的重新渲染。对于类组件,可以使用PureComponent来达到类似效果。 利用useMemo缓存计算结果,避免重复计算。对于函数或…

react如何引入

react如何引入

引入React的方法 React可以通过多种方式引入项目,具体取决于项目需求和开发环境。以下是常见的几种方法: 通过CDN引入 在HTML文件中直接通过CDN链接引入React和ReactDOM:…

react如何同步修改

react如何同步修改

同步修改状态的常见方法 在React中同步修改状态通常涉及使用useState或useReducer钩子,结合React的批处理机制确保状态更新的一致性。以下是几种典型场景的解决方案: 直接使用us…