2023-05-22 월요일

·2023년 5월 22일
0

Today I Learned

목록 보기
112/114
post-thumbnail

📅 오늘 한 일


1. 기능 구현

  • 신체 상태 기록 대시보드
  • 최근 운동 기록 대시보드
  • 운동 배우기 섹션 (Youtube API 이용)

✏️ 무엇을 배웠나


1. 121 개발공부에서 데이터 가져오기 실패 원인

  • supabase 내장된 기능을 사용했는지 그게 JS 기반이라서 서버 컴포넌트에서 안 돌아간 것이었음.
  • 깃허브에 next.js + supabase 관련 프로젝트 찾아보니 내장 기능을 사용해 데이터를 가져올 때는 클라이언트 컴포넌트에서 가져오고 있었음.

2. 데이터 타입을 잘 정하자

  • 운동 관련 데이터 중 sets, reps, weight를 string 타입으로 정의해놨는데 나중에 총 운동량 계산 등에 활용할 때 string 타입이라 수식을 쓸 수가 없었다. number로 다 고쳐주고 사용했음. 데이터 타입이든 뭐든 뭔가를 정할 때는 향후에 리소스로 사용될 환경을 고려하는 게 좋겠다.

3. 타입스크립트 as 키워드

  • Type Assertion (사용자가 타입을 단언함)에 사용됨.
  • interface로 운동 목록이 든 상태를 정의해뒀는데 supabase에서 가져온 운동 목록을 다시 set 해주려고 하니까 타입 에러가 났다. 이 경우에는 어차피 같은 형식의 데이터가 들어 있어서 as 키워드로 같은 거라고 단언해줬음. 아마도 supabase에서 가져온 데이터는 타입 정의가 안 되어 있어서 그랬던 것 같다.
profile
⛰ 프론트엔드 개발 공부 블로그

0개의 댓글