У команды React в планах пометить defaultProps у функциональных как deprecated, возможно стоит использовать предложенную конструкцию при деструктуризации props:
export const Button = (props: ButtonProps): ReactElement => {
const {
color = 'primary',
component = 'button'
...restProps
} = props;
//...
}
P.S. У hoc React.memo есть оптимизация для функциональных без defaultProps
P.P.S. В будущем проще будет переходить на новый jsx-runtime