React での REST API の統合
REST API を React アプリケーションに統合することは、Web 開発者にとって一般的なタスクです。 REST (Representational State Transfer) は、GET、POST、PUT、DELETE などの HTTP メソッドを介して外部リソース (データ) と対話できるようにするアーキテクチャ スタイルです。React を使用すると、REST API との統合が容易になり、データをフェッチできるようになります。 、新しいデータを投稿し、さまざまな API 応答を効率的に処理します。
このガイドでは、Fetch API、Axios、非同期データ取得の処理などのさまざまなメソッドを使用して、REST API を React アプリに統合する方法を説明します。
1. REST API からデータを取得する
fetch() 関数は JavaScript に組み込まれており、HTTP リクエストを作成する簡単な方法を提供します。リクエストに対する応答を表す Response オブジェクトに解決される Promise を返します。
React でのフェッチ API の使用
これは、フェッチ API を使用して REST API からデータを取得し、それを React コンポーネントに表示する簡単な例です。
import React, { useState, useEffect } from 'react'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; // Example REST API const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API fetch(API_URL) .then((response) => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then((data) => { setPosts(data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1 id="Posts">Posts</h1> <ul> {posts.map((post) => ( <li key="{post.id}"> <h2 id="post-title">{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
- useState: 投稿、読み込み状態、およびエラー メッセージを保存するために使用されます。
- useEffect: コンポーネントがマウントされたときにデータのフェッチを処理します。
- fetch(): REST API エンドポイントからデータを取得し、それを JSON 形式に処理します。
- エラー処理: エラー (ネットワークの問題など) を捕捉し、エラー状態を設定します。
2. API リクエストに Axios を使用する
Axios は、ブラウザーおよび Node.js 用の Promise ベースの HTTP クライアントです。これはフェッチの代替手段であり、その簡潔な構文と、自動 JSON 変換、リクエストのキャンセルなどの追加機能により、多くの場合好まれます。
Axios のインストール
Axios を使用するには、まず npm 経由でインストールします。
npm install axios
Axios を使用してデータをフェッチする
これは上記と同じ例ですが、Axios を使用しています。
import React, { useState, useEffect } from 'react'; import axios from 'axios'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API using Axios axios .get(API_URL) .then((response) => { setPosts(response.data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1 id="Posts">Posts</h1> <ul> {posts.map((post) => ( <li key="{post.id}"> <h2 id="post-title">{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
- axios.get(): REST API からデータを取得します。 Axios は、応答を JSON として自動的に解析します。
- エラー処理: エラーがある場合は、エラーが捕捉され、コンポーネントに表示されます。
3. REST API へのデータの送信 (POST リクエスト)
GET リクエストに加えて、POST リクエストを使用してサーバーにデータを送信できます。これは、フォームの送信や新しいレコードの作成によく使用されます。
POST リクエストにフェッチを使用する
import React, { useState, useEffect } from 'react'; const API_URL = 'https://jsonplaceholder.typicode.com/posts'; // Example REST API const FetchPosts = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fetch data from the API fetch(API_URL) .then((response) => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then((data) => { setPosts(data); setLoading(false); }) .catch((error) => { setError(error.message); setLoading(false); }); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; return ( <div> <h1 id="Posts">Posts</h1> <ul> {posts.map((post) => ( <li key="{post.id}"> <h2 id="post-title">{post.title}</h2> <p>{post.body}</p> </li> ))} </ul> </div> ); }; export default FetchPosts;
- POST リクエスト: データを JSON 形式で API に送信します。この場合、タイトルと本文を含む新しい投稿を送信します。
- JSON.stringify(): JavaScript オブジェクトをリクエスト本文の JSON 文字列に変換します。
POST リクエストに Axios を使用する
npm install axios
- axios.post(): API に POST リクエストを送信します。リクエスト本文には、送信するデータが含まれます。
4.結論
REST API を React アプリケーションに統合することは、最新の Web 開発にとって重要なスキルです。 fetch() を使用するか、Axios などのライブラリを使用するかに関係なく、React は API リクエストを管理し、レスポンスに基づいて UI を更新するための useEffect や useState などの強力なフックを提供します。データの取得、送信、エラーの処理を適切に実行できるため、スムーズなユーザー エクスペリエンスが保証されます。
以上がReact で REST API をフェッチおよび Axios と統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい
