Replies: 1 comment 2 replies
-
yeah that works, it's generally two different query contexts, and only one has I can see that this also triggers #6177, I'll take a look in a bit, because this approach works in the react adapter: |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
In v4 we've sometimes been reusing the same query function for both
useQuery
anduseInfiniteQuery
by usingpageParam
if it's defined and otherwise using apage
from the query key: https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgVwM4FMCKz1QJ4A0KGAkgHYBmwZwMWO+R2ueAYsmQMYzARkDCfOgA94AXzgUoEEHADkAARgBDMqhWcA1gHoAbjgC0ARwZ45AWABQoSLDjLhvVJOmyARA6duA3FasUObl4yOABzdBhWCAhUAAorOEQwZXCABWUoZRAiExYAaXQ8AC44AG0iBGTwsQBdMRLmfHYuHj5BMhEYAB4AJXRlABM+ABs8LtL1KGpQiqr0AH4SsmQQACNcWoA+TasASkQEuCgI5CgQzxiAOnDuypT0JZX1qCIKaNQSyenSus3YgAMABYwGBgD7abToYRZMDDdCXTgybT-WYZLIfJL3EpzdKZWTzeZwOZiMS7Q6JS4wQHoMixY6oSBqdBwAC8myO6AZfAwlwGyhUu18ljEfksaHoLFiCEOuXwBWKZTkbwgclR4RKAEZavZnIi1DACDLTKwyCUblEYobhWTLFZxeQqDQ6I08FKjflCiVSnJqI7aOgLarENrlLruQbDtRaMBlMN0mk0SBNVbErK2KawhELagU5mYAA5KEwePoXFZEqxYah4v3fZsuBV9Qly5zOAAajgGqspKAAAs you can see, this now gives a type error because without passing the second generic to
QueryFunctionContext
,pageParam
doesn't exist on the object. I thought maybe I could just addnumber | undefined
as the second generic, but that causes an error for theuseQuery
call: https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgVwM4FMCKz1QJ4A0KGAkgHYBmwZwMWO+R2ueAYsmQMYzARkDCfOgA94AXzgUoEEHADkAARgBDMqhWcA1gHoAbjgC0ARwZ45AWABQoSLDjLhvVJOmyARA6duA3FasUObl4yOABzdBhWCAhUAAorOEQwZXCABWUoZRAiExYAaXQ8AC44AG0iBGTwsQBdMRLmfHYuHj5BMhEYAB4AJXRlABM+ABs8LtL1KGpQiqr0AH4SsmQQACNcWoA+ImW13DgAHxQyAfQqMnQBzasASkQEuCgI5CgQzxiAOnDuypT0JZW6ygRAo0VQJUm01KdU2sQABgALGAwMDg7TadDCLJgYboD6cGTaOGzDJZcFJP4lObpTKyebzOBzMRiG4PRIfGAI9BkWJPVCQNToOAAXk2j3Q-L4GA+A2UKhuvksYj8ljQ9BYsQQD1y+AKxTKclBEDkJPCJQAjLV7M4CWoYARtaZWGQSt8ojEHUrWZYrGryOdaOr8JrHflCiVSnJqAG6O6TYgrcobVL7Q9qLRgMphuk0qSQBbPYkdWwXWEIu7UIWyzAAHKYmA59A0rIlWLDJMNv53UVwdvqRsfOZwADUcHNVhZQAIs there a nice way to salvage this approach in v5? I could refactor it to something like this, but it's a bit clunky (and it triggers #6177): https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgVwM4FMCKz1QJ4A0KGAkgHYBmwZwMWO+R2ueAYsmQMYzARkDCfOgA94AXzgUoEEHADkAARgBDMqhWcA1gHoAbjgC0ARwZ45AWABQoSLDjLhvVJOmyARA6duA3FasUObl4yOABzdBhWCAhUAAorOEQTFgBpdDwALjgAbSIEMGVwsQBdMSzmfHYuHj5BMhEYAB4AJXRlABM+ABs8Ruz1KGpQvILwrLJkEAAjXBKAPjmrAEpEBLgoCOQoEM8YgDpwpvzC9HHJmagiCmjULIGh7NK52IADAAsYGDBb7W10YWU4C66D2nBk2heI2UUEBt0Qo3QYjESzWiT2MDe6DIsQ2qEganQcAAvHN1ug8XwMHt2soVEtfJYxH5LGh6CxYgg1sl8GlMjk5NcIHIoWM4ABGEr2ZxgtQwAhc0ysMhZQ5RGLyxkoyxWVnkKg0OgVPAchWpdJZbJyaj62joNXCxCS5TSylytbUWjAZRdAAKJz9MJAWTFGsS3LYyrgHIRAcBRHDvKIe2TMoayOJpNVNw5ydBQn+crgCfNOWLeGyAAZinlc2XsmLq3AEVkY9DASVkaGwhEAHIFv3hWNBqNdZ0wAfoFYkuCj9QTvYIuAAanFVmRQA
Edit: I guess I can make the parameter a union of the two possible contexts and check if
pageParam
is present, which seems nicer than the other refactor, even if it's not as nice as the original code: https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgVwM4FMCKz1QJ4A0KGAkgHYBmwZwMWO+R2ueAYsmQMYzARkDCfOgA94AXzgUoEEHADkAARgBDMqhWcA1gHoAbjgC0ARwZ45AWABQoSLDjLhvVJOmyARA6duA3FasUObl4yOABzdBhWCAhUAAorOEQTFgBpdDwALjgAbSIEMGVwsQBdIgA6Cs4hdFExLOZ8di4ePkEyERgAHgAldGUAEz4AGzxO7PUoalC8gvCAfiyyZBAAI1wSgD4iJdXcDbgAHzgGtkCWgWrRHr7BshGxiamZwvQFuB21qE2NqwBKRAScCgEWQUBCnhiZXCXXyL0Wy0+RAo0VQWUeZFC2WKYg2sQABgALGAwMCo7TaGrKcBDdBlKogbR455QKmoxCzdBZNwcgAKyhZIDccGocCq7Rq8DmosuMDKvP5VLgWQ5YjEv0BiTKMAJ6DIsWBqEganQcAAvPsDUaMGV+soVL9fJYxH5LGh6CxYghAcl8GlMjk5MiIHJnuEsgBGEr2Zxi9QEb2mVhkLLQqIxeNO9WWKxu8hUGh0E6ehOpdJZbJyaj52joNMhxBR5QxvhxwHUWjAZRDPnhPkCiMZxI+tjJsIRNOoQdjmAAOQlPfQfapWViQybMAX-3NcDX6gXcpecAA1HBw1Y1UABeta Was this translation helpful? Give feedback.
All reactions