ホームページ > ウェブフロントエンド > jsチュートリアル > useEffect は、クリーンアップに使用される関数以外のものを返してはなりません。

useEffect は、クリーンアップに使用される関数以外のものを返してはなりません。

Patricia Arquette
リリース: 2025-01-05 10:40:40
オリジナル
438 人が閲覧しました

useEffect must not return anything besides a function, which is used for clean-up.

  1. この間違いは、useEffect 関数で何かを返すことが原因で発生します。

  2. useEffect 関数では何も返さないかクリーンアップ関数のみを返すことができます:

間違った使い方:

 useEffect(()=>getData(),[])

  async function getData() {
    const url = "http://localhost:8080/hello";
    try {
      const response = await fetch(url);
      setData(response)
    } catch (error) {}
  }
ログイン後にコピー
  1. getData は、非同期であると宣言されているため、Promise を返します。この Promise は、非同期操作 (フェッチなど) が完了すると最終的に解決されます。

  2. 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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート