Búsqueda de sitios web

reactjs - Typescript-Tipo Genérico que se extiende y tiene valor predeterminado


Actualmente estoy trabajando en algunas cosas de React y estaba intentando hacer algo como esto:

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

Ahora esto me da un error que es:

Parsing error: '?' expected. (eslint)

Jugueteé un poco con ello y descubrí que esto no me da un error:

<P extends TextBaseProps = {}>

Pero ahora, cuando intento usar ese componente, me dice:

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

Se aprecia la ayuda :)

EDITAR:

casi olvido la interfaz:

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 En realidad me olvidé completamente de un dato importante. Estoy ampliando nuevamente ese elemento en el que ahora falta la propiedad. La definición de la clase:

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