【发布时间】:2021-08-19 07:39:44
【问题描述】:
我是 react 新手,最近我刚刚通过制作一个简单的购物车功能来练习 react
这是我得到错误的代码的一部分:
const MainShop = () => {
const [products, setProducts] = useState([]);
const [category, setCategory] = useState('');
const [sort, setSort] = useState('');
const [filteredProducts, setFilteredProducts] = useState([]);
useEffect(() => {
const fetchItems = async () => {
const data = await fetch('https://fakestoreapi.com/products');
const items = await data.json();
console.log(items);
setProducts(items);
setFilteredProducts(products);
};
fetchItems();
}, []);
错误说: 第 42:6 行:React Hook useEffect 缺少依赖项:'products'。包括它或删除依赖数组。如果 'setFilteredProducts' 需要 'products' react-hooks/exhaustive-deps 的当前值,您还可以用 useReducer 替换多个 useState 变量
我该如何解决这个问题?
【问题讨论】:
-
这取决于您希望
useEffect回调运行的频率。 -
setFilteredProducts(products) - 但我们想在这里做什么。这应该类似于
setFilteredProducts(items.filter(based on some condition))
标签: reactjs react-hooks