Estoy tratando de importar una función simple de javascript en un archivo mecanografiado. Estoy trabajando en una aplicación React Native.
La importación funciona cuando solo es JS, pero en TS aparece el error: Cannot use namespace 'PrimaryButton' as a type
La función javascript reside en un módulo de nodo que exporta su función como tal en su index.js:
export {default as PrimaryButton} from './src/components/PrimaryButton.js';
El módulo de nodo se denomina component-library , es un módulo de nodo propio de la empresa. No contiene ningún tipo, solo JS simple.
Incluí un archivo custom.d.ts en la aplicación RN donde declaro component-library como un módulo para evitar errores de TS en la importación:
declare module 'component-library';
Ahora, cuando intento importar la función PrimaryButton, aparece el error Cannot use namespace 'PrimaryButton' as a type .
¿Cuál es la forma más fácil de habilitar la importación de la función PrimaryButton sin errores? Soy bastante nuevo en Typescript y estoy un poco perdido aquí.
Terminó siendo algo realmente simple... El archivo tenía la extensión .ts en lugar de .tsx, por lo que cuando se usaba la sintaxis tsx, se detectaba como un tipo debido a la notación <Component> .