How to fetch data with useQueries?

28 Views Asked by At

I have the following query:

const { data: personalCircle, isLoading: personalCircleLoading } =
    trpc.circles.getOwnedCircles.useQuery();

Based on that query result, I want to fetch the users of every personalCircle. I am trying something like this:

  const circleQueries = trpc.useQueries((t) =>
    personalCircle?.data?.map((circle) =>
      t.circles.getCircleUsers({ circleId: circle.circleId })
    )
  );

But I am getting a type error:

Type 'TrpcQueryOptionsForUseQueries<"circles.getCircleUsers" ...

undefined' is not assignable to type 'readonly UseQueryOptionsForUseQueries ...

Even If I add enabled: personalCircle to make the query when personalCircle has data, I get the same error. How can I make the multiple queries based on personalCircle data?

This is the full typescript error I get:

Type 'TrpcQueryOptionsForUseQueries<"circles.getCircleUsers", { circleId: string; }, { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, TRPCClientError<BuildProcedure<"query", { _config: RootConfig<{ ctx: KerryContext; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>; _meta: object; _ctx_out: KerryContext; _input_in: { circleId: string; }; _input_out: { circleId: string; }; _output_in: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; _output_out: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; }, unknown>>>[] | undefined' is not assignable to type 'readonly UseQueryOptionsForUseQueries<{ result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, TRPCClientError<BuildProcedure<"query", { _config: RootConfig<{ ctx: KerryContext; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>; _meta: object; _ctx_out: KerryContext; _input_in: { circleId: string; }; _input_out: { circleId: string; }; _output_in: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; _output_out: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; }, unknown>>, { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, ["circles.getCircleUsers", { circleId: string; }]>[]'.
  Type 'undefined' is not assignable to type 'readonly UseQueryOptionsForUseQueries<{ result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, TRPCClientError<BuildProcedure<"query", { _config: RootConfig<{ ctx: KerryContext; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>; _meta: object; _ctx_out: KerryContext; _input_in: { circleId: string; }; _input_out: { circleId: string; }; _output_in: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; _output_out: { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; taskTypes: TaskTypes[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }; }, unknown>>, { result: "error" | "success"; systemMessage?: string | undefined; userMessages?: string[] | undefined; data?: { taskTypes: TaskTypes[]; id: string; circle: { circleId: string; }; user: { state: string | null; country: string | null; email: string; language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati"; userId: string; streetAddress: string | null; displayName: string; city: string | null; postalCode: string | null; givenName: string | null; surname: string | null; timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero"; isNewUser: boolean; }; roles: CircleUserRole[]; availability?: { end: string; start: string; dayOfWeek: WeekDays; }[] | null | undefined; }[] | null | undefined; }, ["circles.getCircleUsers", { circleId: string; }]>[]'.ts(2322)
useQueries.d.ts(26, 149): The expected type comes from the return type of this signature.
const personalCircle: {
    result: "error" | "success";
    systemMessage?: string | undefined;
    userMessages?: string[] | undefined;
    data?: {
        type: CircleType;
        name: string;
        description: string;
        circleId: string;
        taskTypes?: TaskTypes[] | null | undefined;
        owner?: {
            state: string | null;
            country: string | null;
            email: string;
            language: "english" | "spanish" | "french" | "italian" | "german" | "portuguese" | "arabic" | "chinese" | "japanese" | "korean" | "vietnamese" | "urdu" | "gujarati";
            userId: string;
            streetAddress: string | null;
            displayName: string;
            city: string | null;
            postalCode: string | null;
            givenName: string | null;
            surname: string | null;
            timezone: "UTC" | "America/New_York" | "America/Chicago" | "America/Boise" | "America/Denver" | "America/Los_Angeles" | "America/Phoenix" | "America/Toronto" | "America/Winnipeg" | "America/Edmonton" | "America/Vancouver" | "America/Anchorage" | "America/Adak" | "Pacific/Honolulu" | "America/Argentina/Buenos_Aires" | "America/Argentina/Cordoba" | "America/Argentina/Salta" | "America/Argentina/Jujuy" | "America/Argentina/Tucuman" | "America/Argentina/Catamarca" | "America/Argentina/La_Rioja" | "America/Argentina/San_Juan" | "America/Argentina/Mendoza" | "America/Argentina/San_Luis" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Ushuaia" | "America/Argentina/Santiago_del_Estero";
            isNewUser: boolean;
        } | null | undefined;
    } ...
0

There are 0 best solutions below