reactjs - Skriva en GraphQL-förfrågan med obligatorisk variabel med TypeScript
Finns det ett sätt med TypeScript (eller något annat verktyg) att kasta ett fel vid kompilering/build-tid om jag använder en GraphQL-fråga utan att skicka en obligatorisk variabel?
Till exempel har jag denna GraphQL-fråga:
query booksByAuthor($author: String!) {
books(author: $author) {
title
year
}
}
dessa TS-typer:
interface Book {
title: string;
year: number;
}
interface BooksByAuthorType {
books: [Book];
}
interface BooksByAuthorVariables {
author: string;
}
och denna React-komponent (hämtar data med @apollo/react-hooks):
const Books = () => {
const { data } = useQuery<
BooksByAuthorType,
BooksByAuthorVariables
>(query); // notice I'm not passing `author` here
return (
<ul>
{data.books.map(
book => <li>{`${book.name} (${book.year})`}</li>
)}
</ul>
);
}
Hur använder jag TypeScript (eller något annat verktyg) för att få ett fel i det här fallet?