Выводится json, а должна страница с продуктами
server search:
router.post('/items', async(req, res) => {
try {
const products = await Product.find();
const searchProducts = products.filter(product => {
return product.name.trim().toLowerCase().includes(req.body.search.trim().toLowerCase());
})
res.status(200).json({products: searchProducts});
} catch (e) {
console.log(e);
}
})
client form:
<form className="header__down-search" action="/items" method="POST">
<input type="text" name="search" placeholder="Поиск по объявлениям" />
<input type="submit" value="Найти" />
</form>
Записываю найденные продукты в products:
React.useEffect(() => {
async function getDate(url) {
const {data} = await axios.get(url);
setProducts(data);
}
getDate('http://localhost:3000/items');
}, [products]);
<Route exact path="/">
<Home products={products} />
</Route>
При поиске определенного товара появляется только json, а страница с продуктами нет
Ответы (1 шт):
Автор решения: Lev Shportak
→ Ссылка
если вы хотите имитировать работу формы то функцию getDate лучше переписать(кстати date это календарная дата, когда речь идет о данных правильно писать data)
async function getData(url) {
const {data} = await axios.post(url,{search:'productName'});
setProducts(data);
}