Ожидаемые результаты: введите ключевые слова в input
для поиска и отфильтруйте список сообщений.
Ниже мой код в React, когда я набираю в поле поиска, вызывается searchSpace
, console.log(search_keywords)
и console.log('filter', data)
отображаются в консоли. Но filteredData
не обновлялся, и мой список сообщений остался прежним. Что мне здесь не хватает?
const Blog = () => {
const [posts] = useState([]);
let filteredData = posts;
let search_keywords = "";
const searchSpace = (event) => {
search_keywords = event.target.value;
console.log(search_keywords)
filteredData = posts.filter((data)=>{
if(data.title.toLowerCase().includes(search_keywords)){
console.log('filter', data)
return data
}
});
}
return (
<>
<input placeholder="search..." id="search" type="text" onChange={(e)=>searchSpace(e)} />
{
filteredData.map((v, i) => {
return <Card post={v} key={i} />;
})
}
</>
);
}
пропущены некоторые коды, которые не актуальны