Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug/#394] CSV 버그 수정 #395

Merged
merged 1 commit into from
Sep 13, 2024
Merged

[Bug/#394] CSV 버그 수정 #395

merged 1 commit into from
Sep 13, 2024

Conversation

ocahs9
Copy link
Contributor

@ocahs9 ocahs9 commented Sep 10, 2024

📌 관련 이슈번호

🎟️ PR 유형

어떤 변경 사항이 있나요?

  • 새 기능 추가
  • 버그 수정
  • CSS 등 사용자 UI 디자인 변경
  • 리팩토링

✅ Key Changes

이번 PR에서 작업한 내용을 간략히 설명해주세요

  1. 작업 내용

📢 To Reviewers

  • 예매자 관리 페이지에서 CSV 다운로드 시 이전 CSV 데이터가 남아있던 문제가 발생했습니다.
  • 모듈 스코프로 선언되어 파일을 로딩할 때만 초기화되던 CSVDataArr를 state로 변경하고,
  • map을 돌며 데이터를 임시로 넣을 tempCSVDataArr를 사용 -> tempCSVDataArr로 CSVDataArr를 초기화 하는 방식으로 해결했습니다.

📸 스크린샷

수정 전
image

수정 후
image

🔗 참고 자료

@ocahs9 ocahs9 self-assigned this Sep 10, 2024
@github-actions github-actions bot added 🐛 BUG 버그를 고친 경우 ✨ FEAT 기능 구현 labels Sep 10, 2024
Copy link

PR 작성하느라 고생 많았어요!! 라벨 잘 지정되었는지 확인 한 번 해 주기 🫶

Copy link

Copy link
Contributor

@imddoy imddoy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어푸푸합니당! 버그 수정 쏘이지하게 하셨네용 대단해용

Copy link
Member

@pepperdad pepperdad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생했어! 코멘트 확인해줘 ~~~!!!!

Comment on lines +96 to 115
const tempCSVDataArr: CSVDataType[] = [];

data.bookingList.map((item) => {
const date = item.createdAt.split("T")[0];
const time = item.createdAt.split("T")[1].slice(0, 5);
const formattedDate = date?.replace(/-/g, ".");
const formattedCreateTime = `${formattedDate} ${time}`;

CSVDataArr.push({
tempCSVDataArr.push({
createdAt: formattedCreateTime,
scheduleNumber: `${convertingNumber(item.scheduleNumber)}회차`,
bookerName: item.bookerName,
purchaseTicketCount: `${item.purchaseTicketCount}매`,
bookerPhoneNumber: item.bookerPhoneNumber,
bookingStatus: convertingBookingStatus(item.bookingStatus),
});

setCSVDataArr(tempCSVDataArr);
});
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p1
지금 코드 보면 tempCSVDataArr에 데이터를 추가하고, 반복문 안에서 계속 불필요하게 setCSVDataArr를 호출하고 있어!
tempCSVDataArr에 데이터를 모두 넣고, 반복문이 끝난 후에 한 번만 호출해도 될 것 같아!
이렇게 상태를 한 번에 업데이트하면 불필요한 상태 변경이 없어도 되서 무결성도 유지하면서, 성능도 더 괜찮을 것 같아!

아래 코드를 실행시켜 본 건 아닌데! 이런 식으로 하면 좋을 듯!

const tempCSVDataArr: CSVDataType[] = data.bookingList.map((item) => {
  const date = item.createdAt.split("T")[0];
  const time = item.createdAt.split("T")[1].slice(0, 5);
  const formattedDate = date?.replace(/-/g, ".");
  const formattedCreateTime = `${formattedDate} ${time}`;

  return {
    createdAt: formattedCreateTime,
    scheduleNumber: `${convertingNumber(item.scheduleNumber)}회차`,
    bookerName: item.bookerName,
    purchaseTicketCount: `${item.purchaseTicketCount}매`,
    bookerPhoneNumber: item.bookerPhoneNumber,
    bookingStatus: convertingBookingStatus(item.bookingStatus),
  };
});

setCSVDataArr(tempCSVDataArr);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와웅........ 좋은 방법인 것 같아요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 코드를 졸면서 짰나.. 좋은 지적 고마워 !!
바로 반영할게 👍

Copy link
Contributor

@sinji2102 sinji2102 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

크게 문제 없어보여서 어푸하꼐요!!!!!!! 빠른 버그 수정 굿

Comment on lines +96 to 115
const tempCSVDataArr: CSVDataType[] = [];

data.bookingList.map((item) => {
const date = item.createdAt.split("T")[0];
const time = item.createdAt.split("T")[1].slice(0, 5);
const formattedDate = date?.replace(/-/g, ".");
const formattedCreateTime = `${formattedDate} ${time}`;

CSVDataArr.push({
tempCSVDataArr.push({
createdAt: formattedCreateTime,
scheduleNumber: `${convertingNumber(item.scheduleNumber)}회차`,
bookerName: item.bookerName,
purchaseTicketCount: `${item.purchaseTicketCount}매`,
bookerPhoneNumber: item.bookerPhoneNumber,
bookingStatus: convertingBookingStatus(item.bookingStatus),
});

setCSVDataArr(tempCSVDataArr);
});
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와웅........ 좋은 방법인 것 같아요

@ocahs9 ocahs9 merged commit d0cc056 into develop Sep 13, 2024
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 BUG 버그를 고친 경우 ✨ FEAT 기능 구현
Projects
Status: 🎉Done
Development

Successfully merging this pull request may close these issues.

[ Bug ] CSV 버그 수정
4 participants