未捕獲的類型錯誤:無法讀取未定義的屬性(讀取'img1')在promise中
P粉265724930
P粉265724930 2023-08-25 16:53:18
0
1
561
<p>我正在使用react.js</p> <pre class="brush:php;toolbar:false;">async function Banners(props) { const response = await axios.get(`${apiUrl}/assets/get`); return ( <MainContent text={response.text} img1={props.img1 ? props.img1 : response.data.img1} img2={props.img2 ? props.img2 : response.data.img2} /> ); }</pre> <p>有"async"時才會出現錯誤</p>
P粉265724930
P粉265724930

全部回覆(1)
P粉207969787

您需要在useEffect Hook中包裝非同步API調用,並將資料儲存在狀態中,以便在渲染函數中使用該狀態。以下是一個沒有測試的範例程式碼:

function Banners(props) {
  const [response, setResponse] = useState([]);

  const fetchData = async () => {
    const response = await axios.get(`${apiUrl}/assets/get`);
    setResponse(response);
  };

  useEffect(() => {
    fetchData();
  }, []);

  return (
    <MainContent
      text={response.text}
      img1={props.img1 ? props.img1 : response.data.img1}
      img2={props.img2 ? props.img2 : response.data.img2}
    />
  );
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板