useEffect
コンポーネントをレンダリングする前にすべてのデータが読み込まれるのを待つために、関数を変更する方法 (または React の新しいSuspense
コンポーネントを使用する方法) がわかりません。
Flask バックエンドからデータを取り込むコードは次のとおりです。
import socketIOClient from "socket.io-client";
const ENDPOINT = "http://127.0.0.1:5000";
const [response, setResponse] = useState("");
useEffect(() => {
const socket = socketIOClient(ENDPOINT);
socket.emit('test', {"name": "jim"})
socket.on("test_client", data => {
setResponse(data);
}));
}, []);
console.log が JSON であるコードは次のとおりです。
<p>Data: {console.log(props.data)}</p>
これにより、コンソールに JSON が返されます。
{content: {…}}
content:
exchanges: (3) ["Deribit", "bybit", "BitMEX"]
user_data: (10) [1, "testuser", "testuser",
"$5$rounds=535000$obwWzc1uoSI4MMFT$YruKioA8n321NDsX1UHXGtiY8rgfsBD.5z17kZ1UOnD",
"test@dwm.fund", "DWM", "United States", {…}, "1597353995233", 3]
__proto__: Object
__proto__: Object
しようとすると<p>Data: {console.log(props.data.content.user_data[1])}</p>
、エラーが返されますCan't find property user_data of undefined.
コンポーネントをラップして Reactで新しいSuspense
コンポーネントを使用しようとしreturn
ましたが、それでも同じエラーが発生しました。
どんな助けでも大歓迎です、ありがとう。