Есть код:
const [filters, setFilters] = useState({});
const filterByRedColor = () => {
const apiUrl = `/api/?colorId=${filters.colors.red}`;
callApi(apiUrl);
};
useEffect(() => {
const asyncData = async () => {
const data = await getFilters();
setFilters(data);
filterByRedColor(); // при добавлении 2-го useEffect эту строку убираю
};
asyncData();
}, []);
Внутри
filterByRedColor используется
state. Но при первом открытии страницы там пустой объект и приложение падает.
Как лучше выйти из положения?
Я пробую, добавляя еще один эффект:
useEffect(() => {
Object.keys(filters).length && filterByRedColor();
}, [filters]);