validar validacion pagina funcion formularios formulario enviar ejemplos ejecutar despues con cargar carga asincrona antes javascript reactjs ecmascript-6 create-react-app

javascript - validacion - Inicio no contiene una exportación llamada Inicio



validar formulario javascript html5 (6)

Acabo de encontrar este mensaje de error (después de actualizar a nextjs 9, algunas importaciones transpiladas comenzaron a dar este error). Logré arreglarlos usando una sintaxis como esta:

<Home />

Estaba trabajando con create-react-app y me encontré con este problema en el que obtengo Home does not contain an export named Home .

Así es como configuro mi archivo App.js :

import React, { Component } from ''react''; import logo from ''./logo.svg''; import ''./App.css''; import { Home } from ''./layouts/Home'' class App extends Component { render() { return ( <div className="App"> Hello <Home /> </div> ) } } export default App;

Ahora en mi carpeta de layouts tengo el archivo Home.js que se configura de la siguiente manera.

import React, { Component } from ''react''; class Home extends Component{ render(){ return( <p className="App-intro"> Hello Man </p> ) } } export default Home;

Como puede ver, estoy exportando el componente Home pero recibo un error en mi consola que dice esto.

Que esta pasando?


El error le indica que está importando incorrectamente. El código que tienes ahora:

import { Home } from ''./layouts/Home'';

Es incorrecto porque está exportando como la exportación predeterminada, no como una exportación con nombre. Mira esta línea:

export default Home;

Estás exportando por defecto , no como un nombre. Por lo tanto, importe Home así:

import Home from ''./layouts/Home'';

Tenga en cuenta que no hay llaves. Lecturas adicionales sobre import y export .


Estás dejando un espacio en tu

<Home/>

etiqueta. quitar el espacio y que sea

<Home/>

. Aparentemente, a React no le gusta esto a menos que esté pasando accesorios en el componente.


Este es un caso en el que mezcló exportaciones predeterminadas y exportaciones con nombre .

Al tratar con las exportaciones con named , si intenta importarlas, debe usar llaves como se muestra a continuación,

import { Home } from ''./layouts/Home''; // if the Home is a named export

En su caso, la página de inicio se exportó como predeterminada. Este es el que se importará desde el módulo, cuando no especifique un nombre determinado de un determinado código. Cuando importe y omita las llaves, buscará la exportación predeterminada en el módulo desde el que está importando. Entonces su importación debería ser,

import Home from ''./layouts/Home''; // if the Home is a default export

Algunas referencias para mirar:


Puede usar dos formas de resolver este problema, la primera forma en que creo que la mejor manera es reemplazar el segmento de importación de su código con el siguiente:

import Home from ''./layouts/Home''

o exportar su componente sin valor predeterminado, que se denomina exportación con nombre de esta manera

import React, { Component } from ''react''; class Home extends Component{ render(){ return( <p className="App-intro"> Hello Man </p> ) } } export {Home};


Utilizar

import Home from ''./layouts/Home''

más bien que

import { Home } from ''./layouts/Home''

Eliminar {} de Inicio