您好,登錄后才能下訂單哦!
本篇內容主要講解“React Native如何使用axios進行網絡請求”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“React Native如何使用axios進行網絡請求”吧!
在前端開發中,能夠完成數據請求的方式有很多,如Ajax、jQuery ajax、axios和fetch等。不過,隨著技術的發展,現在能夠看到的基本上也就axios和fetch兩種。
axios是一個基于Promise的Http網絡庫,可運行在瀏覽器端和Node.js中,Vue應用的網絡請求基本都是使用它完成的。axios有很多優秀的特性,如支持請求的攔截和響應、取消請求、JSON自動轉換、客戶端防御XSRF等。
使用axios之前,需要先在項目中安裝axios插件,安裝命令如下。
//npm npm install axios --save //yarn yarn add react-native-axios
作為一款優秀的網絡請求庫,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進行網絡請求會產生大量的冗余代碼,所以在實際開發過程中,還需要對axios請求進行一些封裝,以方便后期的使用,如下所示。
可以看到,如果直接使用axios進行網絡請求會產生大量的冗余代碼,所以在實際開發過程中,還需要對axios請求進行一些封裝,以方便后期的使用,如下所示。
const request = axios.create({ transformResponse: [ function (data) { return data; }, ], }); const defaultOptions = { //處理默認配置 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 => { …. //處理返回結果 }); }); } } export const bizStream = new Bizstream();
經過封裝處理后,進行網絡請求的時候就方便了許多,并且對于一些通用的返回結果我們也在網絡層進行了處理。實際使用時,開發者只需要按照要求傳入需要的參數,然后再通過異步函數處理返回的結果即可,如下所示。
//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);
到此,相信大家對“React Native如何使用axios進行網絡請求”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。