亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

作為一款優(yōu)秀的網(wǎng)絡(luò)請(qǐng)求庫(kù),axios支持基本的GET、POST、DELET和PUT等請(qǐng)求。比如,使用axios進(jìn)行GET請(qǐng)求時(shí)就可以使用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進(jìn)行網(wǎng)絡(luò)請(qǐng)求會(huì)產(chǎn)生大量的冗余代碼,所以在實(shí)際開(kāi)發(fā)過(guò)程中,還需要對(duì)axios請(qǐng)求進(jìn)行一些封裝,以方便后期的使用,如下所示。

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

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

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

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

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了使用React?Hooks模擬生命周期,本文舉例說(shuō)明如何使用 hooks 來(lái)模擬比較常見(jiàn)的 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解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • React如何實(shí)現(xiàn)視頻旋轉(zhuǎn)縮放

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

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

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

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

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

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

    React跨路由組件動(dòng)畫(huà)實(shí)現(xiàn)

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

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

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

    react項(xiàng)目使用redux初始化方式

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

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

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

最新評(píng)論