티스토리 뷰
분명 분명 나는 또 사용할 곳이 있을 것이기 때문에!!!!!!!!!!!!!!!!
import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import styled from "styled-components";
import { getAuth, onAuthStateChanged } from "firebase/auth";
export default function Navbar() {
const [userMail, setUserMail] = useState("");
const [userProfileImg, setUserProfileImg] = useState("");
useEffect(() => {
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
setUserMail(user.email);
} else {
setUserMail(null);
}
});
}, []);
useEffect(() => {
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
setUserProfileImg(user.photoURL);
} else {
setUserProfileImg(null);
}
});
}, []);
생각의 발단
파이어베이스에서 값을 어떻게 가져오지?
처음에는 getAuth 와 user를 이용해 값을 가져오고 if로 값을 담았다.
아 if 안에서 사용하니까 return문 안에서 사용을 못하네..
일단 값을 가져오는지 안에서 console.log를 찍어보자. 잘 가져오네 필요한 key 값 이름 메모
값을 너무 무한대로 가져와서 에러가 났다.
그럼 useEffect로 관리를 해줘야겠네 무작정 작성
아 auth가 밖에 선언되어있어서 auth를 못읽는구나 useEffect 안에 넣어줘야겠다.
작성하고 보니 이 값을 담아갈 그릇이 없네.. 상태유지를 해줘야겠네 useState로 선언
set에 담았으니 값이 담긴 그릇을 사용해보자
응 이게되네????????????????????????????????
💡
import { getAuth, onAuthStateChanged } from "firebase/auth";
💡
useEffect(() => {
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
setUserUid(user.uid);
} else {
setUserUid(null); } });
'TIL' 카테고리의 다른 글
HTTP (1) | 2024.02.16 |
---|---|
Json Server (0) | 2024.02.16 |
2024. 02. 13 react 조건에 따른 컴포넌트 보여주기 (0) | 2024.02.13 |
2024. 02. 04 redux_2 (3) | 2024.02.05 |
20203. 02. 03 코딩하면서 신기한 코드 작성 (0) | 2024.02.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Warning: validateDOMNesting(...): <li> cannot appear as a descendant of <li>
- readme 역할
- styled component 설치방법
- axios CRUD
- readme 작성해야 하는 이유
- axios 설치하기
- axios 사용하기
- styled component GlobalStyle 사용방법
- nextjs 토큰 만료처리하기
- git cache
- 별점 색채우기
- 별점만들기
- 유효성검사 css
- 에러모음집
- Warning: A component is changing an uncontrolled input to be controlled.
- readme작성해보기
- Fetch와 Axios 의 장단점
- axios instance 작성하기
- styled component 사용방법
- 영화별점만들기
- 유효성검사
- Warning: Each child in a list should have a unique "key" prop.
- readme 이미지 추가 방법
- readme 작성 방법
- axiosinstance 사용 시 토큰 사용 법
- 영화 별점
- simple Icon 사용방법
- styled component 조건부 사용방법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함