Pesquisa de site

reactjs - Typescript-Tipo-Genérico que estende e tem padrão


Atualmente estou trabalhando em algumas coisas de React e estava tentando fazer algo assim:

class TextBase<P = {} extends TextBaseProps> extends React.PureComponent<P>

Agora isso me dá um erro que é:

Parsing error: '?' expected. (eslint)

Eu mexi um pouco com isso e descobri que isso não me dá um erro:

<P extends TextBaseProps = {}>

Mas agora, quando estou tentando usar esse componente, ele me diz:

Property 'onPress' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<TextNormal> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'

Ajuda é apreciada :)

EDITAR:

quase esqueci da interface:

interface TextBaseProps {
  children?: string | string[];
  onPress?: (event: GestureResponderEvent) => void;
}

tsc --noEmit --skipLibCheck

error TS2322: Type '{ children: string[]; onPress: () => void; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<TextNormal> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'.
  Property 'onPress' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<TextNormal> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'.

38 <STD.TextNormal

IMPORTANTE Eu na verdade esqueci completamente uma informação importante. Estou estendendo novamente aquele elemento no qual a propriedade agora está ausente. A definição da classe:

class TextNormal extends TextBase {
    public constructor(props: unknown) {
        super(props, {
            color: Colors.fg.hex(),
        });
    }
}