suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Nicht erfasster TypeError: Die Eigenschaft von undefiniert (lesen Sie „img1“) im Versprechen kann nicht gelesen werden

<p>Ich verwende React.js</p> <pre class="brush:php;toolbar:false;">asynchrone Funktion Banners(props) { const Response = waiting axios.get(`${apiUrl}/assets/get`); zurückkehren ( <MainContent text={response.text} img1={props.img1 ? props.img1 : Response.data.img1} img2={props.img2 ? props.img2 : Response.data.img2} /> ); }</pre> <p>Der Fehler tritt nur auf, wenn „async“ vorhanden ist</p>
P粉265724930P粉265724930461 Tage vor566

Antworte allen(1)Ich werde antworten

  • 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}
        />
      );
    }

    Antwort
    0
  • StornierenAntwort