搜索

首页  >  问答  >  正文

未捕获的类型错误:无法读取未定义的属性(读取'img1')在promise中

<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粉265724930P粉265724930552 天前604

全部回复(1)我来回复

  • P粉207969787

    P粉2079697872023-08-26 14:12:53

    您需要在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}
        />
      );
    }

    回复
    0
  • 取消回复