Получить минимальную и максимальную цену React Hooks
Есть массив с данными в котором есть значение price, пробую получить максимальную и минимальную цену и записать в стейт. Подскажите что я делаю не так...
Ответы (1 шт):
Автор решения: doDeploy
→ Ссылка
Для начала убедитесь, что productsAll не пустой на момент вызова useEffect без зависимостей. Если productsAll у вас формируется не сразу, то в useEffect поставьте зависимость на productsAll
useEffect(()=>{
if(productsAll){
const newArr = productsAll.map(({price})=> price)
setMinPrice(Math.min.apply(Math,newArr))
setMaxPrice(Math.max.apply(Math,newArr))
}
},[productsAll])
получится примерно такой код. И console.log(minPrice) или console.log(maxPrice) делать нужно не в useEffect, а вне его. Потому что setMinPrice и setMaxPrice - асинхронные действия
