I found another solution for functional components – you can just use React.FC, which provides type checking and autocomplete for static properties like defaultProps.
const Hello: React.FC<{name: string, gretting: string}> = ({ name, gretting = 'night' }) =>
In that case you don’t have to use interface at all. But in case you want for some reason:
const Hello: React.FC<IProps> = ({ name, gretting = 'night' }) =>
===== UPDATE=====
Additionally:
"react/prop-types": "off" // Since we do not use prop-types
"react/require-default-props": "off" // Since we do not use prop-types