反応でAxiosを使う
4062 ワード
This tutorial was verified with Node.js v16.13.1, npm v8.1.4, react v17.0.2, and axios v0.24.0.
ステップ1 -プロジェクトにaxiosを追加する
この節では、Acidプロジェクトを作成する反応プロジェクトにAxiosを追加します.
“Npxの作成反応アプリはAxiosの例を反応させる”
プロジェクトにAxiosを追加するには、ターミナルを開き、ディレクトリをプロジェクトに変更します.
「CD反応axos例」
次に、このコマンドを実行してaxiosをインストールします.
NPMのインストール
次に、それを使用したいファイルにAxiosをインポートする必要があります.
ステップ2 - GETリクエストを作成する
この例では、新しいコンポーネントを作成し、Axiosを取得してGETリクエストを送信します.
あなたの反応プロジェクトの中で、あなたはpersonlistという名前の新しいコンポーネントを作成する必要があります.
最初に、srcディレクトリに新しいコンポーネントサブディレクトリを作成します
"mkdir src/コンポーネント"
このディレクトリで、personlistを作成します.JSとコンポーネントに次のコードを追加します.
import React from 'react';
import axios from 'axios';
export default class PersonList extends React.Component {
state = {
persons: []
}
componentDidMount() {
axios.get(`https://jsonplaceholder.typicode.com/users`)
.then(res => {
const persons = res.data;
this.setState({ persons });
})
}
render() {
return (
<ul>
{
this.state.persons
.map(person =>
<li key={person.id}>{person.name}</li>
)
}
</ul>
)
}
}
まず、両方のコンポーネントで使用できるように反応とaxiosをインポートします.次に、コンポーネントのマウントライフサイクルフックにフックし、GETリクエストを実行します.あなたはAxiosを使用します.APIのエンドポイントからURLを取得し、レスポンスオブジェクトを返すプロミスを取得します.レスポンスオブジェクトの内部には、データの値が割り当てられます.
また、要求についての他の情報を取得することができますなどのステータスコードのステータスや詳細についてはRES . Requestの内部のステータスコード.
あなたのアプリケーションにこのコンポーネントを追加します.js
import PersonList from './components/PersonList.js';
function App() {
return (
<div ClassName="App">
<PersonList/>
</div>
)
}
次に、アプリケーションを実行します."NPMスタート"
ブラウザでアプリケーションを表示します.あなたは10名のリストが表示されます.
ステップ3 -ポストリクエストを作る
import React from 'react';
import axios from 'axios';
export default class PersonAdd extends React.Component {
state = {
name: ''
}
handleChange = event => {
this.setState({ name: event.target.value });
}
handleSubmit = event => {
event.preventDefault();
const user = {
name: this.state.name
};
axios.post(`https://jsonplaceholder.typicode.com/users`, { user })
.then(res => {
console.log(res);
console.log(res.data);
})
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<label>
Person Name:
<input type="text" name="name" onChange={this.handleChange} />
</label>
<button type="submit">Add</button>
</form>
</div>
)
}
}
handlesubmit関数の中で、フォームの既定の動作を防ぎます.次に、ユーザー入力に状態を更新します.Postを使用すると、同じ呼び出しオブジェクトを使用して、呼び出しの内部で使用できる情報を取得できます.
ポストリクエストを完了するには、まずユーザー入力をキャプチャします.その後、POSTリクエストと共に入力を追加します.その後、コンソールできます.フォームのユーザー入力を表示する応答をログ出力します.
ステップ4 -削除要求を作成する
import React from 'react';
import axios from 'axios';
export default class PersonRemove extends React.Component {
state = {
id: ''
}
handleChange = event => {
this.setState({ id: event.target.value });
}
handleSubmit = event => {
event.preventDefault();
axios.delete(`https://jsonplaceholder.typicode.com/users/${this.state.id}`)
.then(res => {
console.log(res);
console.log(res.data);
})
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<label>
Person ID:
<input type="number" name="id" onChange={this.handleChange} />
</label>
<button type="submit">Delete</button>
</form>
</div>
)
}
}
投稿ありがとうございます.Reference
この問題について(反応でAxiosを使う), 我々は、より多くの情報をここで見つけました https://dev.to/mokadevlight/use-axios-with-react-5444テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol