Props 설계
컴포넌트가 받는 데이터와 콜백을 인터페이스로 드러내고 optional의 의미를 제한한다.
계약컴포넌트의 props, children, event handler, state 타입을 명확히 하면 화면 조립과 리팩터링이 안전해진다.
컴포넌트가 받는 데이터와 콜백을 인터페이스로 드러내고 optional의 의미를 제한한다.
계약variant나 status는 문자열 나열보다 discriminated union으로 가능한 조합을 좁힌다.
state unioninput, form, button 이벤트를 요소 타입과 함께 적어 target 접근을 안전하게 만든다.
React event초기 null이나 빈 배열이 실제 로딩·비어 있음 상태와 섞이지 않게 타입을 나눈다.
state shapetype ButtonProps =
| { kind: "link"; href: string
overflow-wrap: break-word;
word-break: keep-all;
}
| { kind: "action"; onClick(): void };