此錯誤是由於 useEffect 函數中傳回某些內容而導致的。
useEffect 函數中只能傳回任何內容或清理函數:
錯誤用法:
useEffect(()=>getData(),[]) async function getData() { const url = "http://localhost:8080/hello"; try { const response = await fetch(url); setData(response) } catch (error) {} }
getData 傳回一個承諾,因為它被宣告為非同步。當非同步操作(如獲取)完成時,這個承諾最終將得到解決。
無法在 useEffect 函數中傳回承諾。只傳回任何內容或清理函數。
正確用法:在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中文網其他相關文章!