-
Notifications
You must be signed in to change notification settings - Fork 1
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
Feat/35 tickets #56
Feat/35 tickets #56
Conversation
… into feat/35-tickets
- 기존 정보 제거하고 새로 받은 정보만 저장하도록
@Turtle-Hwan 이슈로 남기는 게 좋을 것 같아요!! |
… into feat/35-tickets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다. eta 및 로 변경되는 mock 데이터는 제가 바꿔보겠습니다!
@@ -7,7 +7,7 @@ const ReaminSeat = ({ num }: remainSeatPropsType) => { | |||
<div> | |||
잔여 <b>{num}</b> / 28석 | |||
</div> | |||
<RefreshIcon /> | |||
<RefreshIcon style={{ cursor: 'pointer' }} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나중에 refresh 직접 기능 돌아가게 만들면 좋을 듯
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞아요 이건 제 부분이 아니라 일단 보여지는 커서만 바꿨습니당
})), | ||
reset: () => set({ ...initialState }), | ||
})) | ||
persist( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
시연할 때는 괜찮을 것 같은데, 실제로 사용할 때는
- localStorage 용량 제한
- storage에 write하는 시간이 bottleneck으로 작용 가능할 수 있음
이라서 최소한으로 쓰는 게 좋을 것 같네요
진행상황 남기는 게 필요하면 서버에다가 데이터 임시로 저장하고
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
사실 버스 list는 persist 넣어줄 필요 없어 보이긴 하네요 다시 생각하니까
어차피 그냥 새로고침하면 api 호출 새로 하는게 나아 보여요
캐싱할거면 react-query 써서 하는게 더 합리적이겠네요
나아아아중에 시간 되면 바꿔보겠슴다
|
||
const initialState = { | ||
searchQuery: { | ||
startId: '', | ||
destId: '', | ||
startDate: new Date(), | ||
startDate: new Date(Date.now()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Date.now()를 넣어줄 필요성이 없을 수도 있을 듯. 일단 넘어갑니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수정해서 커밋했습니다 43108ba
순수함수와 busList 논의 기록 : 리액트 전역 상태(zustand store)와 side effect, 이를 해결하는 방안 논의 기록 #66
즐겨찾기 Route 저장 store 제작 및 기능 구현 완료
주의!! Ticket, Bus 정보의 Class (우등 / 고속 / 프리미엄) type에 string도 추가하였습니다.
시간 선택 Chip 구현
우등 | 고속 | 무정차 등 선택 Chip 구현
ButtonComponent에서 useReservationStore에 선택된 버스 정보 넣기
searchQuery, busList 스토어를 persist를 통해 localStorage에 저장하도록 바꿨습니다
booking 페이지에 왕복 선택 란 X 버튼 눌러서 날짜 삭제할 수 있게 추가했어요
문제 상황
searchQuery를 localstorage에 저장하도록 바꿨더니 searchQuery.startDate를 사용하는 곳들에서 date.getFullYear 등의 함수 사용에 다 오류가 나서 new Date()로 한 번 더 감싸서 넣어주어야 했습니다. 이유는 모르겠는데 일단 이렇게 수정하였습니다
오는 길 component는 /ticket/inbound 경로에 routing 했습니다
리팩토링이 안 되어 중복 코드가 많군요..
오는 길을 할 때 searchQuery.destDate의 type이 null | undefined도 가능해서 이 널 가드를 어떻게 해주어야 할지 잘 모르겠어요. 아이디어 있으신가요?
참고 사항
@YongChanCho 님 코드 부분을 좀 건드린 것이 있어, 확인 부탁드려요!