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

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

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 10:40:40440ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Codewars - 降順次の記事:Codewars - 降順