ホームページ >ウェブフロントエンド >jsチュートリアル >useEffect は、クリーンアップに使用される関数以外のものを返してはなりません。
この間違いは、useEffect 関数で何かを返すことが原因で発生します。
useEffect 関数では何も返さないかクリーンアップ関数のみを返すことができます:
間違った使い方:
useEffect(()=>getData(),[]) async function getData() { const url = "http://localhost:8080/hello"; try { const response = await fetch(url); setData(response) } catch (error) {} }
getData は、非同期であると宣言されているため、Promise を返します。この Promise は、非同期操作 (フェッチなど) が完了すると最終的に解決されます。
useEffect 関数で Promise を返すことができません。何も返さないか、クリーンアップ関数のみを返します。
正しい使用法: useEffect に非同期関数を記述し、useEffect 関数が何も返さないように呼び出します。
useEffect(() => { async function getData() { const url = "http://localhost:8080/hello"; try { const response = await fetch(url); setData(response); } catch (error) {} } getData(); }, []);
以上がuseEffect は、クリーンアップに使用される関数以外のものを返してはなりません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。