Vlad024
@Vlad024

Как сделать несколько запросов через React-Query в GetStaticProps?

Допустим есть динамическая страница /product/:id
Нужно собрать данные с 4х урлов
Как используя queryClient.prefetchQuery собрать данные? Ключ для запроса всегда одинаковый, меняется только функция запроса.
Что-то типо такого.
export const getStaticProps = async (context) => {
  try {
    const queryClient = new QueryClient();

    const { idPage } = context.params;
    const id1 = 100;
    const id2 = 200;
    const id3 = 300;
    const id4 = 400;

    await queryClient.prefetchQuery(['keyQuery', idPage], async () => await dataRequest1(id1)); // url: api/path1/100
    await queryClient.prefetchQuery(['keyQuery', idPage], async () => await dataRequest2(id2)); // url: api/path2/200
    await queryClient.prefetchQuery(['keyQuery', idPage], async () => await dataRequest3(id3)); // url: api/path3/300
    await queryClient.prefetchQuery(['keyQuery', idPage], async () => await dataRequest4(id4)); // url: api/path4/400

    return {
      props: { 
        idPage,
        dehydratedState: dehydrate(queryClient)
      },
      revalidate: 1,
    };
  } catch (error) {

  }
};

В теории вариант использовать один вызов queryClient.prefetchQuery и внутри через Promise.all вызывать все запросы и вернуть объединенные данные в queryClient
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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