Выводится 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);
    }
→ Ссылка