В хуке useEffect необходимо произвести итерацию массива arrTimes. arrTimes - массив дат.
Для примера: В dataTime приходит результат "2022-08-30 10:00", в selectedDate приходит "2022-08-30" . В случае, если даты совпадают, необходимо dateTime добавить в timeList.
В результате выполнения кода в timeList записывается только последнее значение, возвращающее истину, а не все результаты подходящие по условию. Насколько понял, это происходит потому, что хук useState является асинхронным.
Как в текущей задаче можно вывернуться, чтобы поместить в timeList весь список дат?
const [timeList, setTimeList] = useState([]);
useEffect(() => {
if (status) {
arrTimes?.map(item => {
const dateTime = item.attributes.datetime;
if (dateTime.includes(selectedDate)) {
setTimeList([...timeList, dateTime]);
}
});
}
}, [status])