First Project 5일차 - 로그인 인증

📅 TIL #86




👉 오늘은 어떻게 프로젝트에 기여했나요?


오늘 useDispatch(Action(인자))라는 함수의 인자값에 body만 넣어도 알아서 응답 객체가 돌아오는 함수를 직접 구현하려고 노력하였다.


//예시

const onLoginMailAuth = () => {
  dispatch(LoginAction({ email: string }));
};

// 결과: { email: useong0830@gmail.com }




👉 오늘 프로젝트에서 힘든 점은 무엇인가요?


진짜 타입스크립트는 나의 머리털을 다 뽑아가려고 노력을 했고, 나는 하루종일 이 함수 구현에만 매달려있었다.. redux와 utils/axios의 axios 함수는 인자값만 넣으면 되도록 추상화를 시켰는데 axios 비동기 처리를 할 때 타입을 넣어야 되는 기준들이 너무 어려웠다.

axios의 Method라는 타입이 있었다는 것은 정말 꿈에도 몰랐다.. 진짜 오늘 팀원들에게 S.O.S를 요청하고 다 같이 3시간넘게 쉬지도 않고 내 함수 구현에 온 힘을 쏟아 주셨는데 정말 너무너무너무 감사하다 ㅜㅜㅜ

집단지성의 힘은 정말 대단했고, 혼자했으면 해결 못했을 문제라고 생각이 들었다. 그래도 구현만 되면 정말 유용한 함수라고 말씀해주셔서 감사하다. ㅠㅠ 이 비동기 처리 함수만 만들면 비동기 필요할 때마다 액션 하나만 추가해주고 dispatch에 요청 값만 넣어주면 되기 때문에 편해지는건 사실이다.

이제 서버랑 연결이 가능해진 단계이지, 끝난건 아니다.. 얼렁 회고를 쓰고 마저 구현하러 가야한다 ㅜㅜㅜ


import axios, { Method } from "axios";

export const axiosRequest = async <D, H>(
  method: Method,
  url: string,
  data?: D,
  headers?: H
): Promise<D | void> => {
  //생략..
};


잊지 말자.. axios의 Method… 잊지말자.. 공식문서 생활화…




👉 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?


오늘 끝냈어야 할 배포 후 mail 로그인 및 OAuth 로그인 그리고 회원 가입의 기능이 정상 작동하는 목표를 이루지 못하였다.

오늘 정말 밥먹는 시간 빼고 아침 10시부터 밤 11시까지 코딩만 했다.. 너무 안풀려서 1분도 안쉬고 달렸다. 앞으로 3시간 정도 안쉬고 쭉 달릴 예정이다. 정말 힘들지만 구현해내는 과정이 재밌어서 시간가는 줄 모르고 한 것 같다.

앞으로 3시간동안 가능하면 배포를 해보고 안되면 내일까지는 무조건 해야한다. 그리고 내일 게시판 디자인까지 끝내는 것을 목표로 한다!! !

아자! 화이팅!