0713
Clone Coding
deal 컴포넌트 제작
db
- 옵션 선택을 위해
fetchProductOptionsByProductId
추가
- 옵션 선택을 위해
tailwind 숫자에 대괄호를 씌우면 custom 가능
React event type
- 브라우저는 사용자 액션에 대해 네이티브 DOM 이벤트를 생성하지만, React는 이를 SyntheticEvent로 래핑해서 컴포넌트에 전달함.
- React가 SyntheticEvent를 사용하는 이유는 크로스 브라우저 호환성을 보장하기 위해서임. 예를 들어 Internet Explorer에서는
event.preventDefault()
대신event.returnValue = false
를 사용해야 하는데, React의 SyntheticEvent는 이런 브라우저별 차이점을 추상화해서 모든 브라우저에서 동일한 API를 제공함. - JSX 요소의 이벤트 핸들러(
onClick
,onMouseOver
등)는 항상 React의 SyntheticEvent를 받기 때문에React.MouseEvent
타입을 사용해야 함. 반면addEventListener
로 직접 DOM에 이벤트를 등록하거나useRef
를 통해 DOM 요소에 직접 접근할 때는 네이티브MouseEvent
타입을 사용해야 함. - 결론적으로 JSX 이벤트 핸들러에서는
React.MouseEvent
를, 네이티브 DOM API 사용시에는MouseEvent
를 사용하는 것이 올바른 타입 안정성을 보장할 수 있음.
배포를 위해서 app 디렉토리 안에 api를 만들어서 route를 설정