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

關(guān)于React Native使用axios進行網(wǎng)絡(luò)請求的方法

 更新時間:2021年08月02日 11:27:32   作者:xiangzhihong8  
axios是一個基于Promise的Http網(wǎng)絡(luò)庫,可運行在瀏覽器端和Node.js中,Vue應(yīng)用的網(wǎng)絡(luò)請求基本都是使用它完成的。這篇文章主要介紹了React Native使用axios進行網(wǎng)絡(luò)請求,需要的朋友可以參考下

在前端開發(fā)中,能夠完成數(shù)據(jù)請求的方式有很多,如Ajax、jQuery ajax、axios和fetch等。不過,隨著技術(shù)的發(fā)展,現(xiàn)在能夠看到的基本上也就axios和fetch兩種。

axios是一個基于Promise的Http網(wǎng)絡(luò)庫,可運行在瀏覽器端和Node.js中,Vue應(yīng)用的網(wǎng)絡(luò)請求基本都是使用它完成的。axios有很多優(yōu)秀的特性,如支持請求的攔截和響應(yīng)、取消請求、JSON自動轉(zhuǎn)換、客戶端防御XSRF等。

使用axios之前,需要先在項目中安裝axios插件,安裝命令如下。

//npm 
npm install axios --save
//yarn
yarn add react-native-axios 

作為一款優(yōu)秀的網(wǎng)絡(luò)請求庫,axios支持基本的GET、POST、DELET和PUT等請求。比如,使用axios進行GET請求時就可以使用axios.get()方法和使用axios(config { … })兩種方式,如下所示。

axios.get('/getData', {
    params: { 
      id: 123
    }
  }).then(function (response) {
    console.log(response);
  })

axios({
  method: 'GET',
  url: '/getData',
  params: {
    id: 123,
  }
}).then(function (response) {
    console.log(response);
}); 

可以看到,如果直接使用axios進行網(wǎng)絡(luò)請求會產(chǎn)生大量的冗余代碼,所以在實際開發(fā)過程中,還需要對axios請求進行一些封裝,以方便后期的使用,如下所示。

可以看到,如果直接使用axios進行網(wǎng)絡(luò)請求會產(chǎn)生大量的冗余代碼,所以在實際開發(fā)過程中,還需要對axios請求進行一些封裝,以方便后期的使用,如下所示。

const request = axios.create({
  transformResponse: [
    function (data) {
      return data;
    },
  ],
});

const defaultOptions = {                    //處理默認(rèn)配置
  url: '',
  userAgent: 'BIZSTREAM Library',
  authentication: {
    integration: {
      access_token: undefined,
    },
  },
};

class Bizstream {
  init(options) {
    this.configuration = {...defaultOptions, ...options};
    this.base_url = this.configuration.url;
    this.root_path = '';
  }

  post(path, params, data, type = ADMIN_TYPE) {
    return this.send(path, 'POST', params, data, type);
  }

  get(path, params, data, type = ADMIN_TYPE) {
    return this.send(path, 'GET', params, data, type);
  }

  send(path, method, params, data, type, headersOption) {
    const url = `${this.base_url}${this.root_path}${path}`;
    const headers = {
      'User-Agent': this.configuration.userAgent,
      'Content-Type': 'application/json',
      ...headersOption,
    };

    return new Promise((resolve, reject) => {
      request({url, method, headers, params, data}).then(response => {
        …. //處理返回結(jié)果
      });
    });
  }
}

export const bizStream = new Bizstream();

經(jīng)過封裝處理后,進行網(wǎng)絡(luò)請求的時候就方便了許多,并且對于一些通用的返回結(jié)果我們也在網(wǎng)絡(luò)層進行了處理。實際使用時,開發(fā)者只需要按照要求傳入需要的參數(shù),然后再通過異步函數(shù)處理返回的結(jié)果即可,如下所示。

//GET請求
const hotMovie='';
const data = await apiRequest.get(hotMovie);
//POST請求
let baseUrl = '';
let param = {
   pageNumber: 0,
   cityCd: 31,
 };
const data = await apiRequest.post(baseUrl, param);

到此這篇關(guān)于關(guān)于React Native使用axios進行網(wǎng)絡(luò)請求的方法的文章就介紹到這了,更多相關(guān)React Native網(wǎng)絡(luò)請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React?Native性能優(yōu)化紅寶書方案詳解

    React?Native性能優(yōu)化紅寶書方案詳解

    React?Native?是Facebook在React.js?Conf2015推出的開源框架,使用React和應(yīng)用平臺的原生功能來構(gòu)建Android和iOS應(yīng)用,這篇文章主要介紹了React?Native性能優(yōu)化紅寶書,需要的朋友可以參考下
    2024-06-06
  • 使用React?Hooks模擬生命周期的實現(xiàn)方法

    使用React?Hooks模擬生命周期的實現(xiàn)方法

    這篇文章主要介紹了使用React?Hooks模擬生命周期,本文舉例說明如何使用 hooks 來模擬比較常見的 class 組件生命周期,需要的朋友可以參考下
    2023-02-02
  • React?SSR架構(gòu)Streaming?Render與Selective?Hydration解析

    React?SSR架構(gòu)Streaming?Render與Selective?Hydration解析

    這篇文章主要為大家介紹了React?SSR架構(gòu)Streaming?Render與Selective?Hydration解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • React如何實現(xiàn)視頻旋轉(zhuǎn)縮放

    React如何實現(xiàn)視頻旋轉(zhuǎn)縮放

    這篇文章主要為大家詳細(xì)介紹了React如何實現(xiàn)視頻旋轉(zhuǎn)縮放功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • React Native Popup實現(xiàn)示例

    React Native Popup實現(xiàn)示例

    本文主要介紹了React Native Popup實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • React Fiber樹的構(gòu)建和替換過程講解

    React Fiber樹的構(gòu)建和替換過程講解

    React Fiber樹的創(chuàng)建和替換過程運用了雙緩存技術(shù),直接將舊的 fiber 樹替換成新的 fiber 樹,這樣做的好處是省去了直接在頁面上渲染時的計算時間,避免計算量大導(dǎo)致的白屏、卡頓,現(xiàn)在你一定還不太理解,下面進行詳細(xì)講解,需要的朋友可以參考下
    2022-12-12
  • React跨路由組件動畫實現(xiàn)

    React跨路由組件動畫實現(xiàn)

    在 React 中路由之前的切換動畫可以使用 react-transition-group 來實現(xiàn),但對于不同路由上的組件如何做到動畫過渡是個很大的難題,目前社區(qū)中也沒有一個成熟的方案,本文給大家分享React跨路由組件動畫實現(xiàn),感興趣的朋友一起看看吧
    2023-10-10
  • react組件的創(chuàng)建與更新實現(xiàn)流程詳解

    react組件的創(chuàng)建與更新實現(xiàn)流程詳解

    React組件分為函數(shù)組件與class組件;函數(shù)組件是無狀態(tài)組件,class稱為類組件;函數(shù)組件只有props,沒有自己的私有數(shù)據(jù)和生命周期函數(shù);class組件有自己私有數(shù)據(jù)(this.state)和生命周期函數(shù)
    2022-10-10
  • react項目使用redux初始化方式

    react項目使用redux初始化方式

    這篇文章主要介紹了react項目使用redux初始化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • React狀態(tài)管理的簡明指南

    React狀態(tài)管理的簡明指南

    Redux 是React最常用的集中狀態(tài)管理工具,本文主要介紹了React狀態(tài)管理的簡明指南,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論