我正在尝试找到一种访问documentation中所述的creationTime和lastSignInTime的方法。
在React挂钩中是否有使用它的示例?
我通常无法理解Firebase文档-只是页面上的文字。我认为它是为那些凭直觉知道如何填补空白的人设计的。一般而言,我仍然对如何做到这一点感到迷惑。
我可以使用react钩子访问auth.user.email,如下所示:
import React, { useState, useEffect, useContext, createContext } from "react";
import firebase from "../firebase";
import {auth} from "../firebase";
const authContext = createContext();
// Provider wraps app and makes auth object available by useAuth().
export function ProvideAuth({ children }) {
const auth = useProvideAuth();
return <authContext.Provider value={auth}>{children}</authContext.Provider>;
}
// Hook to get the auth
export const useAuth = () => {
return useContext(authContext);
};
// Provider hook that creates auth state
function useProvideAuth() {
const [user, setUser] = useState(null);
const signin = (email, password) => {
return firebase
.auth()
.signInWithEmailAndPassword(email, password)
.then(response => {
setUser(response.user);
return response.user;
});
};
const signup = (email, password) => {
return firebase
.auth()
.createUserWithEmailAndPassword(email, password)
.then(response => {
setUser(response.user);
return response.user;
});
};
const signout = () => {
return firebase
.auth()
.signOut()
.then(() => {
setUser(false);
});
};
const sendPasswordResetEmail = email => {
return firebase
.auth()
.sendPasswordResetEmail(email)
.then(() => {
return true;
});
};
const confirmPasswordReset = (code, password) => {
return firebase
.auth()
.confirmPasswordReset(code, password)
.then(() => {
return true;
});
};
useEffect(() => {
const unsubscribe = firebase.auth().onAuthStateChanged(user => {
if (user) {
setUser(user);
} else {
setUser(false);
}
});
return () => unsubscribe();
}, []);
return {
user,
signin,
signup,
signout,
sendPasswordResetEmail,
confirmPasswordReset
};
}
现在,我正在尝试找出访问here描述的字符串值或here描述的时间戳所需的操作。
我尝试了所有(所有猜测):
{auth.user.UserMetadata().creationTime}
{auth.user.creationTime}
{auth.user.UserMetadata.creationTime}
答案 0 :(得分:0)
这有效。
{auth.user.metadata.creationTime}
我不明白为什么。 Firebase文档中的参考将元数据称为UserMetadata。我不知道如何找到告诉人们在UserMetadata和元数据之间实现跨越的信息。
如果有人知道这是什么关键,那么我将永远感激这一见解。