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

[9주차] 미션 완료 #153

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

[9주차] 미션 완료 #153

wants to merge 12 commits into from

Conversation

jstar000
Copy link
Member

📚 워크북 링크

https://sand-knot-d9d.notion.site/9-TypeScript-149b555a2dff80f68113fd3cfed70ba3?pvs=4

📝 변경/추가 사항 요약

기존 week3의 javascript todo app → typescript로 변경해보기 미션 완료했습니다

✅ 리뷰 요구사항

📸 확인 방법 (스크린샷)

- stores.js에 가게 정보를 요청하는 api 선언
- cart.js에 장바구니 정보를 요청하는 api 선언
- getStores 동작 확인 완료 / updateCart 동작 확인 완료
- 서버에 저장된 장바구니 데이터를 불러와 새로고침 후에도 유지되도록 구현
- 기존 강의 코드로 작성된 `fetchCart`가 정상적으로 동작하지 않아 일부 로직 수정
- 수정된 코드는 서버 데이터를 반영하며 장바구니 상태를 업데이트함
- PasswordPage 컴포넌트 생성: 현재 상태(비밀번호 입력 중, 입력 완료, 잘못된 비밀번호 입력 등)에 따라 뷰를 재사용할 수 있도록 설계
- PasswordPage가 PasswordInput 컴포넌트로 props를 전달하도록 구조 수정
- constants 폴더 추가: 비밀번호 길이를 저장하는 password.js 파일 생성
- utils 폴더 추가: 배열을 섞는 shuffle 메서드를 구현한 shuffle.js 파일 생성
- keypadNumbers의 shuffle() 메서드를 useMemo로 감싸 리렌더링 시에도 동일한 숫자 배열을 유지하도록 수정
@jstar000 jstar000 self-assigned this Nov 28, 2024
Copy link
Member

@Turtle-Hwan Turtle-Hwan 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 +70 to +73
// todo를 업데이트 하는 부분
// updateList가 아무것도 반환하지 않으면 TS는 반환 타입을 void로 추론함
// 따라서 호출하는 쪽에서 updateList가 Promise를 반환한다고 인식하지 못하고, 반환 타입을 void로 인식하는 문제가 발생함
// 해결하려면 updateList 함수에서 반환값을 명시적으로 지정하고, Promise를 반환하도록 수정해야 함
Copy link
Member

Choose a reason for hiding this comment

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

맞아요 기본적으로 함수들 타입을 어느 정도 추론해주기는 하지만, 안 맞는 경우나 엄격하게 제한을 두려면 개발자가 일일이 써주는 것이 좋아요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants