React Nativeでaxiosを使用してネットワークリクエストを行う方法

React Nativeでaxiosを使用してネットワークリクエストを行う方法

フロントエンド開発では、Ajax、jQuery ajax、axios、fetch など、データ要求を完了する方法が多数あります。しかし、テクノロジーの発展により、現在見られる 2 つの方法は基本的に axios と fetch です。

Axios は、ブラウザ側と Node.js で実行できる Promise ベースの HTTP ネットワーク ライブラリです。Vue アプリケーションのネットワーク リクエストは基本的にこれを使用して完了します。 Axios には、リクエストのインターセプトと応答、リクエストのキャンセル、自動 JSON 変換、XSRF に対するクライアント側の防御などのサポートなど、多くの優れた機能があります。

axios を使用する前に、プロジェクトに axios プラグインをインストールする必要があります。インストールコマンドは次のとおりです。

//npm 
npm インストール axios --save
//糸
糸に反応ネイティブaxiosを追加 

優れたネットワーク リクエスト ライブラリとして、axios は GET、POST、DELET、PUT などの基本的なリクエストをサポートしています。たとえば、axios を使用して GET リクエストを行う場合、以下に示すように、axios.get() メソッドと axios(config { ... }) を使用できます。

axios.get('/getData', {
    パラメータ: { 
      id: 123
    }
  }).then(関数 (応答) {
    console.log(応答);
  })

アクシオス({
  メソッド: 'GET'、
  URL: '/getData',
  パラメータ: {
    id: 123,
  }
}).then(関数 (応答) {
    console.log(応答);
}); 

axios をネットワーク リクエストに直接使用すると、冗長なコードが大量に生成されることがわかります。そのため、実際の開発プロセスでは、以下に示すように、後の使用を容易にするために、axios リクエストのカプセル化も必要になります。

axios をネットワーク リクエストに直接使用すると、冗長なコードが大量に生成されることがわかります。そのため、実際の開発プロセスでは、以下に示すように、後の使用を容易にするために、axios リクエストのカプセル化も必要になります。

定数リクエスト = axios.create({
  変換レスポンス: [
    関数(データ){
      データを返します。
    },
  ]、
});

const defaultOptions = { // デフォルト設定の処理 URL: '',
  ユーザーエージェント: 'BIZSTREAM ライブラリ'、
  認証:
    統合:
      access_token: 未定義、
    },
  },
};

クラス Bizstream {
  init(オプション) {
    this.configuration = {...defaultOptions、...options};
    this.base_url = this.configuration.url;
    this.root_path = '';
  }

  post(パス、パラメータ、データ、タイプ = ADMIN_TYPE) {
    this.send(path, 'POST', params, data, type) を返します。
  }

  get(パス、パラメータ、データ、タイプ = ADMIN_TYPE) {
    this.send(path, 'GET', params, data, type) を返します。
  }

  send(パス、メソッド、パラメータ、データ、タイプ、ヘッダーオプション) {
    定数 url = `${this.base_url}${this.root_path}${path}`;
    定数ヘッダー = {
      'ユーザーエージェント': this.configuration.userAgent、
      'コンテンツタイプ': 'application/json',
      ...ヘッダーオプション、
    };

    新しい Promise を返します ((resolve, reject) => {
      リクエスト({url, メソッド, ヘッダー, パラメーター, データ}).then(レスポンス => {
        .... // 返された結果を処理する});
    });
  }
}

エクスポート const bizStream = new Bizstream();

カプセル化後は、ネットワーク リクエストの実行がはるかに便利になり、ネットワーク層でいくつかの共通の戻り結果も処理されます。実際の使用では、開発者は必要に応じて必要なパラメータを渡し、返された結果を以下に示すように非同期関数を通じて処理するだけで済みます。

//GET リクエスト const hotMovie='';
const data = apiRequest.get(hotMovie); を待機します。
//POSTリクエスト let baseUrl = '';
パラメータ = {
   ページ番号: 0,
   都市Cd: 31,
 };
const data = apiRequest.post(baseUrl, param); を待機します。

React Nativeでaxiosを使ってネットワークリクエストを行う方法についての記事はこれで終わりです。React Nativeのネットワークリクエストについての詳細は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明
  • Reactのaxiosモジュールをご存知ですか?
  • React の Axios モジュールとその使い方
  • 1 つ以上のドメイン名への React axios クロスドメイン アクセス
  • Reactはaxiosを使用してAPIネットワークリクエストをカプセル化します

<<:  Windows で複数の MySQL インスタンスを実行する方法

>>:  Linux システムで httpd の自動インストールと構成を Ansible で実装する方法

推薦する

jQuery は、画像を切り替えるための左ボタンと右ボタンのクリックを実装します。

この記事では、左ボタンと右ボタンをクリックすることで画像を切り替えるjQueryの具体的なコードを例...

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

MySQLの高可用性と高パフォーマンスのクラスタを構築する方法

目次MySQL NDB Clusterとはクラスター構築のための準備作業クラスターのデプロイを開始す...

Nginx の realip モジュールの使い方の基礎学習

序文nginx モジュールには、公式とサードパーティの 2 種類があります。nginx のインストー...

VMware Workstation のダウンロードとインストールの詳細なチュートリアル

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

MySQL トランザクション分離レベルの表示と変更の例

トランザクション分離レベルを確認するMySQL では、'%tx_isolation%'...

Mysql 8.0 のインストールとパスワードのリセットの問題

Mysql 8.0 のインストールの問題とパスワードのリセット1: MySqlをダウンロードする公式...

丸い角や鋭い角を表現するために、絵の代わりに文字を使用する研究

Google Gmail ページから撮った次のスクリーンショットをご覧ください (同じ場所からスクリ...

jsは徐々に増加するデジタルアニメーションを実現します

目次背景コンテナを固定し、数字を上にスクロールすることで、スクロールホイールと同様の効果を実現します...

ネイティブ JS 音楽プレーヤー

この記事の例では、音楽プレーヤーを実装するためのJSの具体的なコードを参考までに共有しています。具体...

Linux で固定 IP を設定する方法 (テスト済みで効果的)

まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...

JavaScript配列の一般的なメソッドの概要

目次1. JavaScriptで配列を作成する方法2. 配列メソッドの概要3. 方法の詳細な説明1....

CSS3の新しいセレクタの例

構造(位置)擬似クラスセレクタ(CSS3) :first-child : 指定されたセレクタは、親要...

Linux で最も頻繁に使用されるターミナル コマンドのトップ 10 のリストを取得します。

私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...

LayUI+Shiroは動的なメニューを実装し、メニュー拡張の例を記憶します

目次1. Maven 依存関係2. メニュー関連クラス1. メインメニュー2. サブメニュー3. S...