欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react使用axios進(jìn)行api網(wǎng)絡(luò)請求的封裝方法詳解

 更新時間:2022年03月24日 15:36:18   作者:北海的大魚  
這篇文章主要為大家詳細(xì)介紹了react使用axios進(jìn)行api網(wǎng)絡(luò)請求的封裝方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

前言

最近寫react項目使用到axios進(jìn)行請求封裝,在這里記錄一下,希望可以幫助到初學(xué)的小伙伴

準(zhǔn)備工作

進(jìn)行請求需要使用axios,所以要先確定你已經(jīng)安裝完成了axios,查看package.json文件

在這里插入圖片描述

如果沒有,請先安裝axios

npm install axios

開始封裝axios

首先在src目錄下新建axios文件夾,這里我們新建兩個文件,分別是config.js和request.js

config.js

這個文件我們用來進(jìn)行基礎(chǔ)配置,區(qū)分開發(fā)環(huán)境:

1.定義devBaseUrl開發(fā)環(huán)境和proBaseUrl生產(chǎn)環(huán)境

2.使用process.env來區(qū)分開發(fā)還是生產(chǎn)環(huán)境,它返回的是一個包含用戶的環(huán)境信息

3.最后設(shè)置一下timeout

const devBaseUrl = 'http://api.k780.com/'
const proBaseUrl = 'http:xxx//xxxx.xx.com'
export const BASE_URL = process.env.NODE_ENV === 'development' ? devBaseUrl : proBaseUrl
export const TIMEOUT = 5000

request.js

存放對應(yīng)的封裝方法和攔截器:

1.首先導(dǎo)入axios和config中我們上面寫的BASE_URL, TIMEOUT

2.定義instance = axios.create({ }),里面存放對象

3.寫一個請求攔截器,在請求攔截器里面就可以做token驗(yàn)證之類的操作

import axios from 'axios'
import { BASE_URL, TIMEOUT } from './config'
const instance = axios.create({
    baseURL: BASE_URL,
    timeout: TIMEOUT
})
// 請求攔截器
instance.interceptors.request.use(config => {
    console.log('被攔截做一些操作')
    return config
}, err => {
    return err
})
export default instance

進(jìn)行請求

做完上面的封裝之后,我們就可以進(jìn)行請求操作了,來到要使用的頁面

首先進(jìn)行導(dǎo)入剛剛寫的request文件:

import request from '../../axios/request'

我這里請求的是網(wǎng)上的一個天氣接口,地址已經(jīng)寫在了上面config.js文件中的devBaseUrl

對于api的請求,我們這里在componentDidMount()生命周期中進(jìn)行異步請求:

1.使用async await 進(jìn)行異步操作

2.使用data接收請求的結(jié)果,在request中寫請求需要的params參數(shù)

3.最后打印data看下結(jié)果,后面是使用setState修改值

async componentDidMount() {
    const data = await request({
      // 參數(shù)
      params: {
        app: 'weather.today',
        weaId: 248,
        appkey: 10003,
        sign: 'b59bc3ef6191eb9f747dd4e83c99f2a4',
        format: 'json'
      }
    })
    console.log(data)
    this.setState({weather: data.data.result.weather})
  }

查看打印的結(jié)果:

可以看到請求到的data數(shù)據(jù),這樣就說明請求成功啦

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • 優(yōu)雅的在React項目中使用Redux的方法

    優(yōu)雅的在React項目中使用Redux的方法

    這篇文章主要介紹了優(yōu)雅的在React項目中使用Redux的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 淺談react受控組件與非受控組件(小結(jié))

    淺談react受控組件與非受控組件(小結(jié))

    本篇文章主要介紹了淺談react受控組件與非受控組件(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 前端 react 實(shí)現(xiàn)圖片上傳前壓縮(縮率圖)

    前端 react 實(shí)現(xiàn)圖片上傳前壓縮(縮率圖)

    這篇文章主要介紹了前端 react 實(shí)現(xiàn)圖片上傳前壓縮(縮率圖),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 詳解在React項目中如何集成和使用web worker

    詳解在React項目中如何集成和使用web worker

    在復(fù)雜的React應(yīng)用中,某些計算密集型或耗時操作可能會阻塞主線程,導(dǎo)致用戶界面出現(xiàn)卡頓或響應(yīng)慢的現(xiàn)象,為了優(yōu)化用戶體驗(yàn),可以采用Web Worker來在后臺線程中執(zhí)行這些操作,本文將詳細(xì)介紹在React項目中如何集成和使用Web Worker來改善應(yīng)用性能,需要的朋友可以參考下
    2023-12-12
  • React Native第三方平臺分享的實(shí)例(Android,IOS雙平臺)

    React Native第三方平臺分享的實(shí)例(Android,IOS雙平臺)

    本篇文章主要介紹了React Native第三方平臺分享的實(shí)例(Android,IOS雙平臺),具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • react如何使用mobx6動態(tài)加載數(shù)據(jù)

    react如何使用mobx6動態(tài)加載數(shù)據(jù)

    MobX是一個強(qiáng)大而簡單的狀態(tài)管理工具,它可以幫助我們更好地組織和管理React應(yīng)用程序中的數(shù)據(jù)流,本文給大家介紹react如何使用mobx6動態(tài)加載數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • 關(guān)于React Native報Cannot initialize a parameter of type''NSArray<id<RCTBridgeModule>>錯誤(解決方案)

    關(guān)于React Native報Cannot initialize a parameter of type''NSArra

    這篇文章主要介紹了關(guān)于React Native報Cannot initialize a parameter of type'NSArray<id<RCTBridgeModule>>錯誤,本文給大家分享解決方案,需要的朋友可以參考下
    2021-05-05
  • React控制元素顯示隱藏的三種方法小結(jié)

    React控制元素顯示隱藏的三種方法小結(jié)

    這篇文章主要介紹了React控制元素顯示隱藏的三種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解如何在React中優(yōu)雅的使用addEventListener

    詳解如何在React中優(yōu)雅的使用addEventListener

    這篇文章主要為大家詳細(xì)介紹了如何在React中優(yōu)雅的使用addEventListener,文中的示例代碼簡潔易懂,對大家學(xué)習(xí)React有一定的幫助,需要的可以參考一下
    2023-01-01
  • React路由動畫切換實(shí)現(xiàn)過程詳解

    React路由動畫切換實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了react-router 路由切換動畫的實(shí)現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2022-12-12

最新評論