我会用简单的语言解释。我已经创建了一个电子商务React应用程序,我使用Firebase创建了登录/注册功能,我正在将产品项目添加到<Cart />
组件(就像每个购物网站一样),一切都运行良好但现在我想将用户添加到他/她购物车的产品项目添加到Firebase。
这仅适用于注册用户,这意味着如果用户将产品添加到购物车,它将被存储在firebase上,一段时间后,当他/她重新登录时,购物车仍然与他们添加到购物车的产品相同。
注意:此功能不适用于未注册得用户,因为添加/删除项目得功能已经正常工作.
所以这就是我如何得到哪个用户登录到应用程序使用firebase,这里是代码:-
//App.js
import Header from "./components/Header/Header";
import Cart from "./pages/Cart";
import Profile from "./pages/Profile";
import { auth} from "./firebase";
function App() {
const [profileUser, setProfileUser] = useState();
const [userName, setUserName] = useState(null);
useEffect(() => {
auth.onAuthStateChanged((user) => {
if (user) {
setUserName(user.displayName);
setProfileUser(user);
console.log(user);
} else {
setUserName(null);
}
});
}, [userName]);
return (
<div>
<Header loggedUser={userName} />
<MainWrapper>
<Routes>
<Route path="/cart" element={<Cart />} />
<Route path="/profile" element={<Profile loggedUser={profileUser}/>} />
</Routes>
</MainWrapper>
</div>
);
}
1条答案
按热度按时间tf7tbtn21#
为每个用户创建一个名为“cart”的子集合,并在“cart”中为每个项目创建一个文档。
它看起来像这样(我用订单代替购物车)。
对于查询部分,