Comments (3)
oh interesting. So conceptually, I think this is how it's designed to work. initialData
is only taken into account when the Query is created in the cache, which in your case happens when you call prefetchQuery
.
When your component renders, it will pick up the already existing Query and initialData
is ignored.
So overall, this is a typings issue at best. I was very reluctant to add any guarantees on data
always being defined, and really thought that when initialData
is provided, nothing can go wrong. But I guess there are cases like the one you've described.
However, I don't think we're going back on the type definitions to make them T | undefined
even if initialData
is provided. It's too good of a dx improvement 99% of the time.
What you probably want in your case is placeholderData
, which is always taken in to account and doesn't narrow the type.
https://codesandbox.io/p/sandbox/react-query-with-initial-data-forked-whffv2
from query.
well with queryOptions
, we can infer the return type when a key is used depending on what the quryFn returns. But that doesn't help us with adding | undefined
to the union or not
from query.
Interesting discussion.
Since this is a typings issue, I do wonder if there's some consideration to infer return type based on the query key? Perhaps this already digresses to a discussion on key management, but I do believe that in almost all cases, the expectation would be that a single return type exists given a key, regardless of that key being used in prefetchQuery
or useQuery
.
from query.
Related Issues (20)
- react query 3.39.3 devtools error HOT 1
- Error Boundary Error: A component suspended HOT 1
- The query gets stuck at `fetching` status when re-fetched data has cycles HOT 4
- Devtools + async persistence + custom queryKeyHashFn doesn't work HOT 14
- Solid Query: App crashes when a query in a component is resolved before a query in a context provider HOT 2
- 'PersistQueryClientProvider' refers to a value, but is being used as a type here. Did you mean 'typeof PersistQueryClientProvider' HOT 2
- docs: Wrong URL for Nextjs example HOT 6
- Example of Nextjs suspence streaming doesn't work on the site HOT 1
- useQuery infinitly refetches HOT 1
- Getting " Cannot convert a Symbol value to a string" error in NextJs HOT 1
- Solid Query is not working correctly with ErrorBoundary HOT 1
- Query never updates when using Vitest fake timers HOT 2
- Parts of queries getting terribly mixed up in some scenarios with invalidation HOT 3
- Inconsistency between docs and code Re what params are passed to FocusManager subscribers HOT 5
- Buggy interaction between returning filtered data in the combine property for useQueries function HOT 3
- Solid Query causes unnecessary rerender on every fetch when working with objects HOT 2
- docs: solid-start example new `app.config.ts` file HOT 1
- Docs: special behaviour of `initialDataUpdatedAt=0` is not documented HOT 3
- Solid Query+Astro: JavaScript heap out of memory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from query.