Comments (5)
Hi @wieringen, does this happen with ReactFire 4.2.2
? 4.2.3
released a change to useUser
, and I'm wondering if we may have broken something.
We have a test to guard against this exact issue, so I'm a little surprised it is happening at all:
Lines 320 to 327 in 363c7c6
from reactfire.
Actually, I wonder if this could be related to mixing userUser
and useSigninCheck
. They should both agree, but I don't think we test for it, so that could be the issue. Could you please try logging the results of both in your AuthGuard
component to see if they ever disagree?
Something like:
const { status, data: signInCheckResult } = useSigninCheck();
const { data: user } = useUser();
if (status === "loading") {
return props.fallback;
}
console.assert(user === signInCheckResult.user, user, signInCheckResult.user);
from reactfire.
I'm using the latest version 4.2.3
. I did some more testing based on your suggestions. When I change the AuthGuard to the code below it works. Notice how the user
variable is unused. When I leave out the useUser
hook, I get the error in my Page component again.
function AuthGuard(props: React.PropsWithChildren<{ fallback: JSX.Element }>) {
const router = useRouter();
const { status, data: signInCheckResult } = useSigninCheck();
const { data: user } = useUser();
if (status === "loading") {
return props.fallback;
}
if (signInCheckResult?.signedIn === true) {
return props.children as JSX.Element;
} else {
return router.push("/login");
}
}
from reactfire.
We had a similar issue with useUser()
in 4.2.3 returning on initial load:
{
data: undefined,
status: 'loading',
...
}
Pinning to 4.2.2 resolved the error, with useUser()
returning on initial load:
{
data: {
emailVerified: true,
...
},
status: 'success',
...
}
from reactfire.
Related Issues (20)
- useStorageDownloadURL crashes when there is no file in firebase storage HOT 4
- cannot handle error from useFirestoreCollectionData HOT 8
- High CPU usage with constant GC with `useInitFirestore` HOT 1
- How to set new doc in firestore HOT 3
- How implement appcheck in reactfire v3? HOT 2
- useSigninCheckResult.signedIn always false for email on iOS app but true on web HOT 1
- Typo in official Firebase Documentation HOT 1
- Failed to import FirebaseAppProvider for reactfire@^4.2.2
- useFirestoreCollectionData infinite loop when using a Query withConvertor HOT 2
- 403 on storage request HOT 2
- StackBlitz live demo not working (locally too)
- v4.2.3 is not published on npm HOT 6
- how to trigger parent re-render when using `remove` in realtime database? HOT 2
- Random permission errors when logging in with multiple tabs open
- Type of `ObservableStatus::data` should include `undefined` HOT 1
- Disable Analytics HOT 1
- Support for Firebase 10.1.0 HOT 7
- Possible support for Firebase 10.5.0? HOT 2
- useFirestoreDocData returns status: "success" for wrong document (same as issue #327) 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 reactfire.