typescript - Poate graphql codegen să genereze automat tipuri pentru câmpul de date al rezultatului hook-urilor?
Folosesc hook-uri graphql codegen, ale cărora rezultatele sunt de tipul: ApolloReactCommon.QueryResult, ceea ce înseamnă că este un obiect care are câmpurile data, loading și error.
Cel mai general, voi folosi data în alte componente, unde trebuie să-i definesc tipul. În prezent, trebuie să scriu ceva de genul acesta pentru a obține tipul data:
type MyPost = MyPostQueryHookResult['data']
M-aș fi așteptat să mi se creeze acest tip MyPost. Există vreo modalitate de a-l genera automat?
Configurația mea:
generates:
src/generated/graphql.tsx:
plugins:
- "typescript"
- "typescript-operations"
- "typescript-react-apollo"
config:
withHooks: true
Răspuns #1
Cel mai bun mod de a face acest lucru este să folosești fragmente atunci când construiești interogarea. Tipurile vor fi generate pentru fiecare fragment și apoi ele pot fi folosite direct.
sursa: de la principalul contribuabil al graphql-codegen