Exportação de componentes
No React, a exportação de componentes permite que você reutilize esses componentes em outros arquivos ou módulos do seu projeto. Existem duas maneiras comuns de exportar componentes no React: a exportação padrão (default export) e a exportação nomeada (named export).
Exportação padrão (Default Export)
Com a exportação padrão, você pode exportar apenas um componente por arquivo. Ao importar o componente em outro arquivo, você pode dar a ele o nome que preferir. Aqui está um exemplo de como você pode exportar um componente:
// Arquivo: MeuComponente.js
import React from 'react';
const MeuComponente = () => {
return <p>Olá, eu sou um componente!</p>;
};
export default MeuComponente;
E para importar este componente em outro arquivo:
// Outro Arquivo
import MeuComponente from './MeuComponente';
// Agora você pode usar o componente MeuComponente normalmente
Exportação nomeada (Named Export)
Com a exportação nomeada, você pode exportar vários componentes, funções ou constantes de um único arquivo. Ao importar, você deve usar o mesmo nome que foi dado ao exportar. Aqui está um exemplo:
// Arquivo: OutroComponente.js
import React from 'react';
export const ComponenteA = () => {
return <p>Sou o componente A!</p>;
};
export const ComponenteB = () => {
return <p>Sou o componente B!</p>;
};
Atenção para usuários do VS Code
O VS Code pode apresentar dificuldades em realizar o auto import de funções e classes caso seja feito a exportação da seguinte forma:
export const ComponenteA = () => { return <p>Sou o componente A!</p>; };
Para resolver este problema, basta utilizar a seguinte abordagem:
const ComponenteA = () => { return <p>Sou o componente A!</p>; }; export { ComponenteA };
E para importar estes componentes em outro arquivo:
// Outro Arquivo
import { ComponenteA, ComponenteB } from './OutroComponente';
// Agora você pode usar ComponenteA e ComponenteB normalmente
Exportação com renomeação (Alias)
Você pode renomear os componentes ao importá-los, o que pode ser útil para evitar conflitos de nomes ou simplesmente para usar um nome mais conciso:
// Outro Arquivo
import { ComponenteA as A, ComponenteB as B } from './OutroComponente';
// Agora você pode usar A e B para se referir aos componentes