firebase 9 프로필 업데이트

김부릉·2023년 4월 7일
0

const [newDisplayName, setNewDisplayName] = useState(userObj.displayName);
const onSubmit = async (event) => {
    event.preventDefault();
    if (userObj.displayName !== null) {
      await updateProfile(authService.currentUser, {
        displayName: newDisplayName,
      });
      refreshUser();
    }
  };
  
  
  const [userObj, setUserObj] = useState(null);
  useEffect(() => {
    onAuthStateChanged(authService, (user) => {
      if (user) {
        setIsLoggedIn(true);
        setUserObj({
          displayName: user.displayName,
          uid: user.uid,
          updateProfile: (args) => user.updateProfile(args),
        });
      } else {
        setIsLoggedIn(false);
      }
      setInit(true);
    });
  }, []);
  const refreshUser = () => {
    const user = authService.currentUser;
    setUserObj({
      displayName: user.displayName,
      uid: user.uid,
      updateProfile: (args) => user.updateProfile(args),
    });
  };
  • 프로필을 업데이트 할 때는 updateProfile() 함수를 사용한다
  • 프로필네임 변경 후 새로고침 없이 바로 변경하기 위하여 기존의 setUserObj(user)를 간단한 객체로 변경한다. user는 복잡하기 때문에 리랜딩이 되지 않음

0개의 댓글