Попов Дмитрий
17 янв. 2021 г., 9:21

Добавление переменных в запрос в nextjs

Николай, приветствую! Возник вопрос: подскажи, пожалуйста, куда копать.

Есть код, который формирует переменные к graphql:


const getVariables = (query: ParsedUrlQuery): BeersQueryVariables => { const first = query.first && typeof query.first === 'string' ? parseInt(query.first) : undefined return { first, } }


GraphQL:
query beers($where: BeerWhereInput, $first: Int = 3, $skip: Int) { beersConnection(where: $where, first: $first, skip: $skip) { aggregate { count } edges { node { ...beer } } } } fragment beer on Beer { id name uri image places { id price Place { ...place } } } fragment place on Place { id name uri }

Как в него запихать например такую переменную?

{"where": {
"name": "Lager Hell Ayinger (Айингер Лагер Хелль) бутылка"
}
}
Ну, в графовском запросе у тебя все ОК, то есть ты уже можешь в хук запроса скармливать where.

Вот смотри, вот здесь ты передаешь переменные.
const variables = getVariables(router.query) const response = useBeersQuery({ variables, })
То есть в твоем случае достаточно вернуть так:
const getVariables = (query: ParsedUrlQuery): BeersQueryVariables => { const first = query.first && typeof query.first === 'string' ? parseInt(query.first) : undefined return { first, where: { name: "Lager Hell Ayinger (Айингер Лагер Хелль) бутылка", }, } }
Спасибо, разбираюсь дальше!

Добавить комментарий