Javascript/React

[React] Spring Boot with React 채팅 서버 : 2-3. utils

noahkim_ 2022. 3. 10. 02:26

1. Cookie

  • universal-cookie 모듈을 사용하여 브라우저의 쿠키 값을 key-value 형식으로 가져오고 지우는 커스텀 함수를 export 하였음
  • oauth 로그인 성공 시에 로그인 email을 쿠키에 저장한 후 swr 모듈로 사용자 정보를 요청하여 컴포넌트간 전역적인 접근을 위해 사용될 것임
    • 로그아웃 시 removeCookie() 함수로 email 값을 지워 관리할 것
import Cookies from "universal-cookie";
 
const cookies = new Cookies();
 
export const getCookie = (name) => {
    return cookies.get(name);
 }
 
export const removeCookie = (name) => {
    return cookies.remove(name);
}

 

1. fetcherByEmail

  • 사용자 정보를 서버에 요청할 경우 axios모듈로 get요청을 보내게 된다.
  • email을 param으로 받아 url로 요청한 후 성공시 응답하는 then() 을 채워주었음
  • useSWR에서 fetcher 로 쓰인다
import axios from 'axios';

const fetchByEmail = (email: string) =>

    axios
        .get(`/api/user/info?email=${email}`, {
            withCredentials: true,
        })
        .then((response) => response.data.HCS.item.profile);

export default fetchByEmail;

 

출처 :
https://swr.vercel.app/ko

https://www.inflearn.com/course/%ED%81%B4%EB%A1%A0%EC%BD%94%EB%94%A9-%EC%8B%A4%EC%8B%9C%EA%B0%84%EC%B1%84%ED%8C%85/dashboard
https://github.com/ZeroCho/sleact/tree/master/alecture/pages