当前位置:首页 > React

react如何接接口

2026-01-23 19:17:35React

React 中接入接口的常见方法

使用 fetch API 发起 HTTP 请求
fetch 是浏览器原生支持的 API,无需额外安装库。发起 GET 请求的示例代码如下:

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

使用 axios 库进行请求
axios 是流行的 HTTP 客户端,提供更简洁的 API 和更好的错误处理。安装后使用:

import axios from 'axios';

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

useEffect 中调用接口
React 函数组件中通常在 useEffect 钩子中发起异步请求,避免直接放在渲染函数中:

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

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

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

  return <div>{data && data.map(item => <p key={item.id}>{item.name}</p>)}</div>;
}

处理加载和错误状态
完整的接口调用应包含加载状态和错误处理:

const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);

useEffect(() => {
  axios.get('https://api.example.com/data')
    .then(response => {
      setData(response.data);
      setLoading(false);
    })
    .catch(err => {
      setError(err.message);
      setLoading(false);
    });
}, []);

if (loading) return <div>Loading...</div>;
if (error) return <div>Error: {error}</div>;

使用自定义 Hook 封装请求逻辑
将接口调用逻辑封装成可复用的自定义 Hook:

function useApi(url) {
  const [data, setData] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    fetch(url)
      .then(res => res.json())
      .then(data => {
        setData(data);
        setLoading(false);
      });
  }, [url]);

  return { data, loading };
}

// 使用示例
function MyComponent() {
  const { data, loading } = useApi('https://api.example.com/data');
  // ...
}

POST 请求示例
发送 POST 请求时需指定方法和请求体:

axios.post('https://api.example.com/data', {
  name: 'New Item',
  value: 123
})
.then(response => console.log(response.data));

处理 CORS 问题
如果接口存在跨域问题,需在后端配置 CORS 或通过代理解决。开发时可配置 package.json 添加代理:

react如何接接口

"proxy": "http://localhost:5000"

标签: 接口react
分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impor…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Context中…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

理解如何react

理解如何react

理解React的核心概念 React是一个用于构建用户界面的JavaScript库,专注于通过组件化开发提高代码的可维护性和复用性。其核心思想包括虚拟DOM(Virtual DOM)和单向数据流,能够…

react如何调度

react如何调度

React 调度机制概述 React 的调度机制通过 Fiber 架构 和 Scheduler 模块实现任务优先级管理与时间切片(Time Slicing),确保高优先级更新(如用户交互)能快速响应,…