Я на react.js
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}
/>
);
}
Ошибка возникает только тогда, когда есть "асинхронный"
Вам нужно будет обернуть этот вызов асинхронного API в хук useEffect и сохранить ответ в состоянии и отобразить его или передать дочерним компонентам и т. д.
@DecPK, когда я запускаю его в console.info, он имеет правильный вывод, который должен быть
@konekoya Спасибо, вы можете опубликовать это как ответ, чтобы я мог отметить его правильно
Вам нужно обернуть асинхронный вызов API в обработчик useEffect и сохранить данные в состоянии, чтобы это состояние можно было использовать в функции рендеринга. Вот пример кода без тестирования:
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}
/>
);
}
Вы можете создать функцию, которая будет async, и вызвать там API. ошибка говорит обо всем. вы пытаетесь получить доступ к img1 собственности undefined.