Элемент карты с favoris не может вызвать вызов API

#next.js

Вопрос:

Я действительно потерялся с Nextjs. Кажется, я понял, что мне нужно использовать ксв, но я не уверен, что это сработает в моем случае. или даже как заставить его работать.

У меня есть продукты, которые имеют один и тот же компонент на нескольких страницах моего сайта. В этом компоненте у меня есть кнопка «Избранное», которая должна быть активирована на всех этих страницах. по щелчку мыши он должен опубликовать или УДАЛИТЬ сообщение с помощью токена и идентификатора продукта.

На данный момент мой компонент выглядит так, и, конечно, postFavorites и deleteFavoris не работают:

 import React, { useEffect, useState } from "react" import Link from 'next/link' import Styles from "./card.module.scss" import axios from 'axios'  export default function Card(props) {  const [favoris, setFavoris] = useState(false);   const deleteFavoris = async () =gt; {  console.log("click");  try {  const res = await axios({  method: 'POST',  url: `${process.env.NEXT_PUBLIC_BASE_API}/favorites`,  headers: {  Authorization: "Bearer "   session.token,  },  body: {  advert: props["@id"]  }  });  } catch (error) {  if (error.response) {  throw new Error(await error.response.data.message)  }  }  }   const postFavoris = async () =gt; {  console.log("click");  try {  const res = await axios({  method: 'DELETE',  url: `${process.env.NEXT_PUBLIC_BASE_API}/favorites`,  headers: {  Authorization: "Bearer "   session.token,  },  body: {  advert: props["@id"]  }  });  } catch (error) {  if (error.response) {  throw new Error(await error.response.data.message)  }  }  }     const handleClick = () =gt; {  if (favoris === true) {  deleteFavoris()  } else {  postFavoris()  }  setFavoris(!favoris)  }    return (  lt;div className={Styles.card}gt;  lt;Link href={"/annonce?id=" props.id} passHrefgt;  lt;a className={Styles.imageCard} style={{backgroundImage: `url(${props.imageSrc})`}}gt;  lt;p className={Styles.localisationCard}gt;lt;span className="material-icons"gt;location_onlt;/spangt;{props.localisation}lt;/pgt;  lt;/agt;  lt;/Linkgt;  lt;div className={Styles.favCard   " "   ((favoris === true) amp;amp; Styles.active)} onClick={() =gt; handleClick()}gt;lt;/divgt;  lt;p className={Styles.titleCard}gt;{props.title}lt;/pgt;  lt;p className={Styles.pricesCard}gt;lt;span className="material-icons-outlined"gt;local_offerlt;/spangt;Prix : {props.prices}lt;/pgt;  lt;p className={Styles.eligibilitesCard}gt;lt;span className="material-icons-outlined"gt;check_circlelt;/spangt;Eligibilité ({props.eligibilities})lt;/pgt;  lt;/divgt;  ) }  

Комментарии:

1. Привет, я не эксперт, но я использую fetch в своем next.js проекты, и они выглядят так: fetch('/api/save',{method: 'POST'}, body: data) я имею в виду, что если папка API находится внутри страниц, Next.js перенаправит маршрут в нужное место.

2. Я имел в виду: fetch('/api/save',{method: 'POST', body: data})

3. «Постфавориты и удаление фаворитов не работают» — Не могли бы вы уточнить, что не работает? Вы получаете какие-либо ошибки на вкладке консоль или сеть в devtools?

4. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

5. @juliomalvesThere ничего нет, мои действия по извлечению не запущены. ничего на вкладке консоль или сеть.