where/how 我是否调用 firebase 数据库来获取 currentUser 数据,以便用户可以看到他们自己的个人资料?
where/how do I call firebase database to get currentUser data so that a user can see their own profile?
我不太清楚在哪里或如何调用 firebase 数据库来显示配置文件容器内的当前用户数据。
当用户注册时,它会在 firebase 集合 'users' 中创建一个与用户唯一的 firebase ID 相同的文档。
async function signup(email, password) {
return auth.createUserWithEmailAndPassword(email, password).then((cred) => {
return firebase
.firestore()
.collection("users")
.doc(cred.user.uid)
.set({
age: age,
location: location,
bio: bio,
name: name,
email,
})
.then(() => {
console.log("Document Added");
return true;
});
});
}
我需要将一些数据调用到下面的配置文件组件中,但我不确定如何调用它或使用什么语法。
export default function Profile() {
const { currentUser } = useAuth();
const history = useHistory();
return (
<>
<div className="profileCard__cardContainer">
<ProfileCard className="card"
preventSwipe={["up", "down", "left", "right"]}
>
<div><h2>Profile</h2></div>
<div className="email"><strong>email:</strong> {currentUser.email}
</div>
<div className="name">
{currentUser.doc.data(name)}
</div>
</ProfileCard>
<Link to="/update-profile" className="updateProfile__button">
<Button>Update Profile</Button>
</Link>
</div>
</>
);
}
我知道这可能真的很简单,可能有一个我不完全理解的概念。
您需要从 Firestore 加载文档以从中获取数据。基于应该带有功能组件的 ReactFire documentation,它看起来像:
function UserDetails() {
const userRef = useFirestore()
.collection('users')
.doc(currentUser.uid);
const { status, data } = useFirestoreDocData(userRef);
// easily check the loading status
if (status === 'loading') {
return <p>Loading user profile...</p>;
}
return <p>User bios: {data.bio}</p>;
}
我不太清楚在哪里或如何调用 firebase 数据库来显示配置文件容器内的当前用户数据。
当用户注册时,它会在 firebase 集合 'users' 中创建一个与用户唯一的 firebase ID 相同的文档。
async function signup(email, password) {
return auth.createUserWithEmailAndPassword(email, password).then((cred) => {
return firebase
.firestore()
.collection("users")
.doc(cred.user.uid)
.set({
age: age,
location: location,
bio: bio,
name: name,
email,
})
.then(() => {
console.log("Document Added");
return true;
});
});
}
我需要将一些数据调用到下面的配置文件组件中,但我不确定如何调用它或使用什么语法。
export default function Profile() {
const { currentUser } = useAuth();
const history = useHistory();
return (
<>
<div className="profileCard__cardContainer">
<ProfileCard className="card"
preventSwipe={["up", "down", "left", "right"]}
>
<div><h2>Profile</h2></div>
<div className="email"><strong>email:</strong> {currentUser.email}
</div>
<div className="name">
{currentUser.doc.data(name)}
</div>
</ProfileCard>
<Link to="/update-profile" className="updateProfile__button">
<Button>Update Profile</Button>
</Link>
</div>
</>
);
}
我知道这可能真的很简单,可能有一个我不完全理解的概念。
您需要从 Firestore 加载文档以从中获取数据。基于应该带有功能组件的 ReactFire documentation,它看起来像:
function UserDetails() {
const userRef = useFirestore()
.collection('users')
.doc(currentUser.uid);
const { status, data } = useFirestoreDocData(userRef);
// easily check the loading status
if (status === 'loading') {
return <p>Loading user profile...</p>;
}
return <p>User bios: {data.bio}</p>;
}