Как типично набрать хук useQuery в Apollo?
Итак, вот компонент оболочки, в котором я передаю хук useQuery useOrganizationAutocompleteQuery
генерируется graphql-codegen. Я хотел бы иметь возможность передавать любой хук useQuery.
<AutocompleteField
{...props}
getOptionLabel={(option: OrganizationResult) => option.name.value || ''}
queryHook={useOrganizationAutocompleteQuery}
resource="organizations"
/>
Как мне ввести queryHook
prop, чтобы принимать какие-либо хуки apollo useQuery?
queryHook: typeof useOrganizationAutocompleteQuery;
А вот что есть у Apollo для использования
export declare function useQuery<TData = any, TVariables = OperationVariables>(query: DocumentNode, options?: QueryHookOptions<TData, TVariables>): QueryResult<TData, TVariables>;
1 ответ
Вы можете настроить, откуда импортируются хуки, используя apolloReactHooksImportFrom
флаг конфигурации (см. https://graphql-code-generator.com/docs/plugins/typescript-react-apollo):
generates:
my-file.tsx:
config:
apolloReactHooksImportFrom: my-package
plugins:
- typescript
- typescript-operations
- typescript-react-apollo
Вы также можете указать на относительный файл с любым пользовательским useQuery
крючок.
Если вы хотите иметь большую гибкость и иметь собственный сгенерированный код, вы можете написать собственный плагин для генерации кода (https://graphql-code-generator.com/docs/custom-codegen/write-your-plugin), который будет генерировать собственный код.
Кроме того, если вы думаете, что что-то можно добавить / изменить в самом кодогенераторе, дайте мне знать, мы всегда приветствуем большую гибкость:)