javascript - tag - Reaccionar: cómo exportar un componente puro sin estado
title of page html (4)
ES6 no permite la
export default const
.
Primero debe declarar la constante y luego exportarla:
const Header = () => {
return <pre>Header</pre>
};
export default Header;
Esta restricción existe para evitar escribir
export default a, b, c;
eso está prohibido: solo se puede exportar una variable por defecto
¿Cómo puedo exportar un componente tonto puro sin estado?
Si uso class esto funciona:
import React, { Component } from ''react'';
export default class Header extends Component {
render(){
return <pre>Header</pre>
}
}
Sin embargo, si uso una función pura, no puedo hacer que funcione.
import React, { Component } from ''react'';
export default const Header = () => {
return <pre>Header</pre>
}
¿Me estoy perdiendo algo básico?
Solo como una nota al margen.
Técnicamente, podría
export default
sin declarar primero una variable.
export default () => (
<pre>Header</pre>
)
También puede usar una declaración de función en lugar de asignación:
export default function Header() {
return <pre>Header</pre>
}
En su ejemplo, ya usa llaves y
return
por lo que aparentemente esto coincide con sus necesidades sin compromiso.
puedes hacerlo de dos maneras
1)
// @flow
type ComponentAProps = {
header: string
};
const ComponentA = (props: ComponentAProps) => {
return <div>{props.header}</div>;
};
export default ComponentA;
2)
// @flow
type ComponentAProps = {
header: string
};
export const ComponentA = (props: ComponentAProps) => {
return <div>{props.header}</div>;
};
si usamos por
default
importamos así
import ComponentA from ''../shared/componentA''
si no usamos por
default
importamos así
import { ComponentA } from ''../shared/componentA''