[英]How do I fix this section of code to allow the user to get their favorites from Firebase Realtime db? even with uid working, user can't view favorites
这是返回的错误消息:TypeError:无法读取 null 的属性 'uid'
这是我需要帮助的来自 FavoritesContext.jsx 组件的代码部分:
useEffect(() => {
const uid = firebase.auth().currentUser.uid;
if (!uid) {
return;
} else
db.ref(`users/${uid}/favorites`).on("value", (snapshot) => {
console.log("favorites: ", snapshot.toJSON());
const results = Object.entries(snapshot.toJSON() || {}).map(
([id, props]) => ({
id,
...props,
})
);
setFavorites(results);
});
}, []);
这是 db 在我的 Base.js 组件中的来源:
export const db = firebase.database(uiConfig);
这是我的 AuthContext.js 组件中的相关代码:
export const AuthProvider = ({ children }) => {
const [currentUser, setCurrentUser] = useState(null);
const [pending, setPending] = useState(true);
useEffect(() => {
app.auth().onAuthStateChanged((user) => {
setCurrentUser(user);
setPending(false);
});
}, []);
来自 firebase 官方文档
您还可以使用 currentUser 属性获取当前登录的用户。 如果用户未登录,则 currentUser 为空:
你得到 uid null 因为你的用户还没有登录。
你可以在这里阅读更多
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.