У меня есть компонент, в который я загружаю данные. Как и ожидалось, сначала отрисовывается компонент, а затем useEffect. Проблема в том, что этот useEffect извлекает данные, которые мне нужно отобразить в моем компоненте. В любом случае, я могу загрузить содержимое компонента после того, как useEffect передаст данные в useState?
import React, { useEffect, useState } from 'react';
import Layout from '../components/global/layout/Layout';
import axios from 'axios';
import { Col, Row } from 'react-bootstrap';
import styles from '../components/page-css/menu.module.css';
import MenuItemHolder from '../components/menu-page/menuItemHolder/menuItemHolder';
const Menu = () => {
const [ menuItems, setMenuItems ] = useState(false);
useEffect(() => {
const fetchData = async () => {
const result = await axios('https://tahina-test.herokuapp.com/doggos');
setMenuItems(result.data);
};
fetchData();
}, []);
return (
<Layout textColor="white">
<Col>
<Row className={styles.menuHolder}>
<Col className={styles.menu} xs="11" md="8">
<h1>Menu</h1>
<Row>
{menuItems.records.map((item) => (
<MenuItemHolder name={item.Name} price={item.UnitPrice} />
))}
</Row>
</Col>
</Row>
</Col>
</Layout>
);
};
export default Menu;