Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
¿Puedes usar la sintaxis de alias de importación es6 para los componentes React?

Estoy tratando de hacer algo como lo siguiente, sin embargo, devuelve nulo:

 import { Button as styledButton } from 'component-library'

luego intentar representarlo como:

 import React, { PropTypes } from "react"; import cx from 'classNames'; import { Button as styledButton } from 'component-library'; export default class Button extends React.Component { constructor(props){ super(props) } render() { return ( <styledButton {...this.props}></styledButton> ) } }

El motivo es que necesito importar el componente Button de una biblioteca y también exportar un componente contenedor con el mismo nombre pero manteniendo la funcionalidad del componente importado. Si lo dejo en import { Button } from component library , por supuesto, obtengo un error de declaración múltiple.

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Su sintaxis es válida. JSX es azúcar de sintaxis para React.createElement (tipo), por lo que siempre que el tipo sea un tipo React válido, se puede usar en "etiquetas" JSX. Si Button es nulo, su importación no es correcta. Quizás Button es una exportación predeterminada de la biblioteca de componentes. Tratar:

 import {default as StyledButton} from "component-library";

La otra posibilidad es que su biblioteca esté usando exportaciones commonjs, es decir module.exports = foo . En este caso puedes importar así:

 import * as componentLibrary from "component-library";

Actualizar

Dado que esta es una respuesta popular, aquí algunos datos más:

 export default Button -> import Button from './button' const Button = require('./button').default export const Button -> import { Button } from './button' const { Button } = require('./button') export { Button } -> import { Button } from './button' const { Button } = require('./button') module.exports.Button -> import { Button } from './button' const { Button } = require('./button') module.exports.Button = Button -> import { Button } from './button' const { Button } = require('./button') module.exports = Button -> import * as Button from './button' const Button = require('./button')
over 4 years ago · Santiago Trujillo Denunciar

0

Intenta importar de esta manera

 import {default as StyledLibrary} from 'component-library';

Supongo que exportas

 export default StyledLibrary
over 4 years ago · Santiago Trujillo Denunciar

0

Cuidado con las mayúsculas. Mejor siempre CamelCase.

Uno:

 import Thing from "component";

Uno con alias:

 import {Thing as OtherThing} from "component";

Uno con alias más otros valores predeterminados:

 import {Thing as OtherThing}, Stuff, Fluff from "component";

Ejemplo más detallado

 import {Thing as StyledButton}, {Stuff as Stuffing}, {Fluff as Fluffy}, Wool, Cotton from "component";
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda