@jedifa

Как в NextJS getServerSideProps добавить динамический id?

Подскажите пожалуйста, у меня есть компонент
export default function Home() {
  const [id, setId] = useState(0);
  const changeId = () => {
    setId(id + 1);
  }
  return (
    <div>
       <button onClick={() => changeId()}>Click</button>
   </div>
  )
}

Мне нужно получить данные с сервера, я получаю их через getServerSideProps:
export async function getServerSideProps(context) {
  const res = await fetch(`https://example/:id`); //Вместо :id должен быть id который в компоненте home
  const data = await res.json();

  return {
    props: {data}
  }
}

И после нажатия на кнопку когда изменяется state id мне нужно получить уже новые данные по другому id. Подскажите пожалуйста как это сделать?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
vmakhnyuk
@vmakhnyuk
Frontend developer
Напрямую в компоненте <Home />:
useEffect(() => await fetch(`https://example/${id}`), id)

в getServerSideProps вы можете использовать стандартный id для предзагрузки нужного содержимого, но потом рулить уже из компонента.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы