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 で実装する方法

推薦する

デザイン理論:テキスト表現とユーザビリティ

<br />テキストデザインでは、通常、テキストのレイアウト、つまりテキストをより美しく...

MySQL で特定の親行のすべての子行を見つけるソリューション

序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...

スクロールバーのスタイルを設定するための CSS サンプルコード

スクロール バーのスタイルを設定するための CSS 実装コードは次のとおりです。 •::-webki...

MySQL監視グループレプリケーションについて簡単に説明します

元のテキスト: https://dev.mysql.com/doc/refman/8.0/en/gr...

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

ボタンと入力タイプの違いと注意点

<button> タグ<br />定義と使用法<button> ...

three.js を使って立体的な矢印線を描く詳細な手順

需要: この需要は緊急に必要です!地下鉄のシーンでは、脱出経路を示す矢印を描かなければなりません。こ...

Nginx が Apache より優れている理由

Nginx は、わずか数年で Web サーバー市場の大部分を占めるようになりました。周知のとおり、N...

CentOS で Mysql を再起動するさまざまな方法 (推奨)

1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...

Linux コマンドラインのワイルドカードとエスケープ文字の実装

ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。

遅い問題を完全に解決したい場合は、MySQL を MySQL 8.0 にアップグレードすることをお勧...

Dockerのローカルイメージ作成方法の分析

コンテナと呼ばれるものは、実際には親イメージに基づいて読み取りおよび書き込み可能なファイル階層を作成...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...