Reactを使い始めたばかりで、文字通り最も基本的なことを可能にすることが信じられないほど難しいと私は驚いています。私がしたいのは、リクエストを作成し、レスポンスを表示することだけです。ここに私のコードです:私は、レンダリングのawaitで使用することはできませんAPIリクエストの結果をReactで表示できません
import React from 'react';
import 'whatwg-fetch';
export default class App extends React.Component {
async testBackend() {
let response = await fetch('http://localhost:8000/test', { credentials: 'include' });
return response.json();
}
render() {
let status = await this.testBackend();
return (
<div style={{ textAlign: 'center' }}>
<h1>Hello World</h1>
<p>{status}</p>
</div>
);
}
}
()非同期(async)、それをせずに、しかし、それは約束を返しますので、私はそれをaysncすることはできません。 render()でthen()を使用することはできません。なぜなら、Promiseも返されるからです。レンダリング結果をstateに格納することはできません。なぜなら、render()が呼び出されるまでにはそこには存在しないからです。だから私は何をしますか?
これはなぜ難しいですか?まともな言語であれば、API呼び出しをブロックするだけで済みます。
ネットワーク通話中に「任意の適切な言語」でユーザーインターフェイスがフリーズするのを待ちますか? – Bergi