❗ any type 피하기

🎯 여러 children의 타입 : JSX.Element[]

// TodoTemplate
// any 사용 ( X )
function TodoTemplate(props: any) {
  return <TodoTemplateBlock>{props.children}</TodoTemplateBlock>;
}

// JSX.Element[] 사용 ( O )
interface TodoTemplateProps {
  children: JSX.Element[];
}

const TodoTemplate: FC<TodoTemplateProps> = ({ children }) => {
  return <TodoTemplateBlock>{children}</TodoTemplateBlock>;
};

🎯 Date 객체 DateTimeFormatOptions의 타입: Intl.DateTimeFormatOptions


export const TIME_FORM: Intl.DateTimeFormatOptions = {
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
};

const [time, setTime] = useState(new Date().toLocaleTimeString('en-US', TIME_FORM));

❗ any type 쓴 경우

const handleDateChange = (_: any, dateStrings: [string, string]) => {
    const [start, end] = dateStrings;
    setStartDate(start);
    setDeadline(end);
  };