Всем доброго времени суток! Возникла проблема с добавлением элемента массива в хук состояния. Перебираю массив через forEach. Если вписываю конкретное слово из массива, то все срабатывает и добавляется как должно. Если же прописываю просто одну букву ( буква а как пример) , то добавляется только один элемент массива, хотя через console.log вижу что есть 15 совпадений( а должно быть 17. Во всех элементах массива есть данная буква). Не могу понять где я ошибся. Проблема в конструкции if или где-то еще? Заранее благодарю за помощь!
Это код функции , которая используется. В функции handleStartSearch(data) data это просто строка из инпута. dataJson.result это массив объектов.
const [cards, setCards] = React.useState([]);
function handleStartSearch(data) {
dataJson.result.forEach(item => {
if ( data.length > 0 && (item.title.includes(data) || item.author_lastName.includes(data)
|| item.author_firstName.includes(data))) {
setCards([...cards, item])
console.log('Есть совпадение!');
}
})
}