๋ค๋ฅธ ์์ ๋ก๊ทธ์ธ ์ ์ ๊ฐ ๋ก๊ทธ์ธ ํ๋ฉด ์๋ฌด ๋ฌธ์ ๊ฐ ์์๋๋ฐ ์ด๋ฉ์ผ/ํจ์ค์๋๋ก ๊ฐ์ ํ ์ ์ ๊ฐ ๋ก๊ทธ์ธ ํ์ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๊ธฐ์กด ์์ ๋ก๊ทธ์ธ์ ์ ์ ์ ํ๋กํ ์ ๋ณด๋ฅผ ์ด๋ฏธ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ displayName์ ๊ฐ์ง๊ณ ์์ง๋ง, ์ด๋ฉ์ผ/ํจ์ค์๋๋ก ๊ฐ์ ํ ์ ์ ์ ๊ฒฝ์ฐ ํ๋กํ ์ ๋ณด์๋ displayName์ ๊ฐ์ง๊ณ ์์ง ์๋ค.

๋ฐ๋ผ์ ํค๋ ๋ค๋น๊ฒ์ด์
์ ์์ฑํด ๋, {userObj.displayName}์ ํ๋กํ ๋ถ๋ถ์ ๊ตฌ๋ฉ์ด ๋๋ค. ํ์ฌ ์ด๋ฉ์ผ/ํจ์ค์๋๋ก ๊ฐ์
ํ ์ ์ ์ userObj.displayName ๊ฐ์ด null์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์กฐ์น๋ฅผ ์ทจํด์ค์ผ ํ๋๋ฐ, ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋ค.
๊ฐ์ฅ ํธํ ๋ฐฉ๋ฒ์ผ๋ก ํ๋จ๋๋ 2๋ฒ์ผ๋ก ์ผ๋จ ์งํํด๋ณด์.
import { getAuth, onAuthStateChanged, updateProfile } from "firebase/auth";
//...
const auth = getAuth();
onAuthStateChanged(auth, async (user) => {
//๐ฅ user์ displayName์ด null์ธ ๊ฒฝ์ฐ updateProfile()์ ์ฌ์ฉํ์ฌ displayName์ "์ ์ "๋ก ์์ ๋ณ๊ฒฝ ํด๋ฒ๋ฆฌ์. ๊ทธ๋ฌ๊ณ ๋์ ์ ์ ์ ๋ณด๋ฅผ userObj์ ์
๋ฐ์ดํธ ํ์ฌ ๋ก๊ทธ์ธ ํ๋ค.
if (user) {
if (user.displayName === null) {
await updateProfile(user, { displayName: "์ ์ " });
}
setUserObj(user);
} else {
setUserObj(null);
}
setInit(true);
});
๋ฌธ์ ํด๊ฒฐ!
๋ก๊ทธ์ธ ์ ์๋์ผ๋ก "์ ์ "๋ผ๊ณ ๋ฌ๋ค. ๋ง์์ ์ ๋ค๋ฉด ํ๋กํ ์์ ๊ณ ๊ณ ~ ๐
์ฌ์ค ์ง์ง ํธ์ํฐ์ฒ๋ผ ๋ชจ๋ฌ์ฐฝ ๋์์ ๊ฐ์
ํ ๋ ๋ถํฐ ์ด๋ฆ์ ๋ฐ๊ณ ์ถ๊ธด ํ๋ฐ ์์ง ์ค๋ ฅ์ด ์๋๋ฏ๋ก ์ผ๋จ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ๊ณ , ๋์ค์ ๋ฐฉ๋ฒ์ ๋ฐ๊ฟ๋ณด์! ์ฐจ๊ทผ์ฐจ๊ทผ! ์์์์! ํงํ
!