У меня есть приложение для реагирования, основанное на создании приложения для реагирования и TypeScript. Я хочу заменить redux клиентом Apollo graphql. Я определяю запросы в файлах .graphql и / или gql-Tag, используя строковые шаблоны. Я хочу, чтобы результат / данные из компонента запроса apollo были строго типизированы, как я могу это сделать? Я сам не пишу интерфейсы и типы, я хочу, чтобы они были сгенерированы ?





Для этого есть очень хороший инструмент под названием Кодогенератор Apollo, он является частью apollo-cli.
Загляните в их документацию: https://github.com/apollographql/apollo-cli#apollo-codegengenerate-output
Пример создания определений TypeScript:
apollo schema:download .schema/graphql.json --endpoint=http://localhost:4000/
apollo codegen:generate --schema=.schema/graphql.json --addTypename --target=typescript --queries=src/**/*.{tsx,ts} --outputFlat=src/queries
Хорошо, это здорово! Я также посмотрю на этот «генератор кода графа» :)
На самом деле мне не удалось заставить работать apollo codegen. Документация очень устарела, и я закончил отладку apollo codegen, но в конце концов сдался ... Нашел другую библиотеку: graphql-code-generator, которая наконец-то сработала :-) Я Я использую ApolloClient, и это действительно здорово! Но не мог понять apollo-cli. На самом деле у graphql-code-generator есть шаблон и для Apollo :-)