부트캠프 React 과정 8.29

김진우·2023년 8월 29일
0

오늘의 목표

  • 알고리즘 문제풀기

  • Cs공부하기

  • 팀프로젝트 진행

어려운것

  • 오늘 카드카테고리에있던 로직을 따로 폴더로 빼서 관리를 하기위해 수정을 하는도중

Argument of type error

이런오류를 마주쳤는데 처음에는 배열이 아닐때 코드가 실행이 되지않게 조건식을 추가해서

``

export const formatPlanDates = (
plan: PlanType[],
): { startDate: string; endDate: string } => {
const dates = plan.dates;
if (!Array.isArray(dates)) {
throw new Error("배열이아님");
}
const startDate = formatMonthDay(dates[0]);
const endDate = formatMonthDay(dates[dates.length - 1]);
return { startDate, endDate };
};
``

해결을 할려고 했으나 해결이 되지않고 검색을 해보았는데 이오류는
typescript가 예상하고 있는 특정한 type이 아닌, 다른 type을 넘겨줬을 때 발생하게 되는 오류였다 근데

``

export const formatPlanDates = (
plans: PlanType,
): { startDate: string; endDate: string } => {
const startDate = formatMonthDay(plan.dates[0]);
const endDate = formatMonthDay(plan.dates[plan.dates.length - 1]);
return { startDate, endDate };
};
``

-> 이렇게 formatPlanDates를 보내고
``

const { startDate, endDate } = formatPlanDates(plan);
``

구조 분해할당을 해서 startDate와 endDate변수를 뽑아내서 사용을하여 오류를 해결했는데
가지고오는 매개변수가 1개이기 때문에 굳이 배열로 만들어서 할필요가 없이 객체그대로 사용을 하면 해결되는 오류였다.

느낀점

  • 오늘 프로젝트를 진행하면서 TypeScript를 공부해가면서 프로젝트를 진행하는 느낌이 강하게 들었다. 사실 이프로젝트를 하기전에는 잘몰랐지만 직접 써보고 이론을 공부하고 하면서 아직은 많이 부족하지만 하나하나 알아가면서 프로젝트를 진행하고있는거 같고 또한 이제 또 내가해야할 부분이 supabase에 일치하는 부분을 가지고오는 건데 이부분을 꼭 내일안으로 해결하고싶다는 생각을 했습니다.

0개의 댓글