未捕获的类型错误:无法读取未定义的属性(读取'img1')在promise中
P粉265724930
P粉265724930 2023-08-25 16:53:18
0
1
557
<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}
    />
  );
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板