react多个网络请求_测开技能Web开发 React 学习(十二)网络请求

e5aeb06d90d363367222451652acc5ba.png

系列文章

         测开技能--Web开发 React 学习(一)

         测开技能--Web开发 React 学习(二)环境搭建

         测开技能--Web开发 React 学习(三)元素的渲染

         测开技能--Web开发 React 学习(四)元素的动态渲染

         测开技能--Web开发 React 学习(五)JSX

         测开技能--Web开发 React 学习(六)组件

         测开技能--Web开发 React 学习(七)提取组件

         测开技能--Web开发 React 学习(八)Props 的只读性

         测开技能--Web开发 React 学习(九)条件渲染

         测开技能--Web开发 React 学习(十)表单

          测开技能--Web开发 React 学习(十一)

    这是第十二篇文章。

    我们写前端页面,少不了,和后端打交道,需要的就是网络请求,那么我们怎么来进行网络请求

    呢,其实很简单,直接使用fetch。

    请求的方法一般放在生命周期的componentDidMount里

    我们去实现。

import React, { Suspense } from 'react';import 'antd/dist/antd.css';import { Layout, Menu, Breadcrumb } from 'antd';import './home.css'import {  DesktopOutlined,  PieChartOutlined,UserOutlined,CarOutlined,SettingOutlined,ApiOutlined} from '@ant-design/icons';const { SubMenu } = Menu;const { Header, Content, Footer, Sider } = Layout;class SiderDemo extends React.Component {    constructor(props){        super(props)        this.state={        }    }    componentDidMount(){        fetch("http://openapi.tuling123.com/openapi/api/v2",{            method:'POST',            mode:"cors"        }).then(res=>res.json()).then((data)=>{            console.log(data)        })    }    state = {        collapsed: false,      };          onCollapse = collapsed => {        console.log(collapsed);        this.setState({ collapsed });      };      render() {        return (                  );      }} export default SiderDemo

  我们去启动访问,结果报错,

51518c2a2fd0157e60f8d803e8e1a7af.png

那么,我们怎么去解决跨域问题呢。

我们可以看下官网文档给我的方式,

https://github.com/facebook/create-react-app/blob/master/docusaurus/docs/proxying-api-requests-in-development.md#configuring-the-proxy-manually

我们可以直接在package.json 配置porxy 即可。

"proxy":"http://openapi.tuling123.com"

配置后 我们重启服务,把fetch 改成

fetch("/openapi/api/v2",{            method:'POST',            mode:"cors"        }).then(res=>res.json()).then((data)=>{            console.log(data)        })

这样就可以解决这个问题。

这是打印输出来的结果

c392acba6ba0188344464ef559bfa3f0.png

另外的方案也是可以的直接,

4a1b4a99f1f0e5442b006383e53e8018.png

    这是我们大概的一个的请求,以及如何解决跨域的问题,我们接下来肯定还是有很多的请求要写的,我们是不是需要封装下,利用封装后,再来封装后的方法再来解决呢。

        欢迎持续关注雷子说测试开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值