TIL 25|登録&会員入力-fetch関数
fetch関数を使用して会員登録とログインを実現
:フロントエンドとバックエンドは、データを交換しないときに不完全です.そのため、Reactはどのようにデータの交換を処理しますか?
1.全体の流れ
2.fetch関数の基本形式
//기본 형식
fetch('api 주소')
.then(res => res.json())
.then(res => {
// data를 응답 받은 후의 로직
});
// 아래는 더 구체적인 예시 !
//⬇️첫번째 인자 ⬇️ 두번째 인자(오브젝트)
fetch("api주소", {
method: "POST",
body: JSON.stringify({
email: this.state.id, // 변경 가능
password: this.state.pw, // 변경 가능
}),
})
.then((response) => response.json())
.then((result) => console.log("결과: ", result)); // console.log의 위치에 실행하고 싶은 함수를 적어두면 된다 :)
1. method勘定科目勘定科目fetch()関数では、defaultメソッドはget
2. JSON.stringify()
:ObjectからStringに変換する方法.
:httpでデータを交換する場合はstring形式に変換する必要があります.
3. .then()
他のロジックに比べて通信に時間がかかるため、非同期処理を行い、メソッドを使用します.
➡️ then((response) => response.json())
:サーバから送信されたレスポンスをオブジェクトに変換します.
:最初のthen関数に渡されるパラメータ応答はhttp通信要求と応答に応答情報を含むオブジェクトである.
Response Object
と呼ばれています➡️ .then((result) => console.log(「結果:」,result);
: console.logの位置に実行したい関数を書けばいいです.
⑤¥バックエンドが応答体に与えられないことも多い.出典:YERIブログ
설명: 유저를 저장한다.
base url: https://api.google.com
endpoint: /user
method: post
요청 body:
{
"name": string,
"batch": number
}
응답 body:
1. 제대로 저장했으면 status code를 200 전달. 응답 body는 없음
2. 권한 오류가 생기면 status code를 403으로 전달하고. 응답 body는 아래와 같음
{
success: false,
message: "권한이 없습니다"
}
fetch ⬇️fetch('https://api.google.com/user', {
method: 'post',
body: JSON.stringify({
name: "yeri",
batch: 1
})
})
.then(res => {
if (res.status === 200) {
alert("저장 완료");
} else if (res.status === 403) {
return res.json();
}
})
.then(res => {
console.log("에러 메시지 ->", res.message);
})
2.コード
▼▼▼私のコード
ААААААААААА🔑 値段を書き留めた.
¥bodyに渡さなければならない鍵の名前は、サーバ・データベースの名前と同じでなければなりません.
一致しないと、エラーが発生したステータスコードが出力される可能性があります.
🔑 バックエンドとの通信を試みる
わあ成功した🙌🏻
通信に成功すると、
いろいろ試してみました…!
入力ごとにエラーメッセージが書かれているので、情報によってユーザーに伝わると思うとわくわくします.👍🏻
Reference
この問題について(TIL 25|登録&会員入力-fetch関数), 我々は、より多くの情報をここで見つけました https://velog.io/@e_soojeong/TIL-25-로그인-회원가입-Fetch-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol