【发布时间】:2021-12-06 22:36:17
【问题描述】:
我有一个通过 axios 获取数据的 useEffect(),我希望它只渲染一次,所以我传递了一个数组。一切正常,但问题是每当我尝试对项目进行排序时,第二个 useEffect 会触发,然后是第一个 useEffect,这会导致组件一次又一次地获取项目。
const [products, setProducts] = useState([]);
useEffect(() => {
const getProducts = async () => {
return await axios
.get('/getAllProducts')
.then((response) => {
setProducts(response.data);
console.log(products);
})
.catch((e) => {
console.log(e);
});
};
getProducts();
}, [products]);
【问题讨论】: