【发布时间】:2020-10-29 01:08:18
【问题描述】:
我有一个要从中获取数据的组件。正如预期的那样,组件首先呈现,然后是 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;
【问题讨论】:
标签: reactjs use-effect use-state