Estoy tratando de usar ganchos de reacción para un problema simple.
const [personState,setPersonState] = useState({ DefinedObject });con las siguientes dependencias.
"dependencies": { "react": "^16.8.6", "react-dom": "^16.8.6", "react-scripts": "3.0.0" }pero sigo recibiendo el siguiente error:
./src/App.js
Línea 7:
React Hook "useState" se llama en la función "aplicación", que no es ni un componente de la función React ni una función React Hook personalizada react-hooks/rules-of-hooksLínea 39:
'estado' no está definido
sin indefensiónBusque las palabras clave para obtener más información sobre cada error.
El código del componente se encuentra a continuación:
import React, {useState} from 'react'; import './App.css'; import Person from './Person/Person'; const app = props => { const [personState, setPersonSate] = useState({ person:[ {name:'bishnu',age:'32'}, {name:'rasmi',age:'27'}, {name:'fretbox',age:'4'} ], }); return ( <div className="App"> <h2>This is react</h2> <Person name={personState.person[1].name} age="27"></Person> <Person name={personState.person[2].name} age="4"></Person> </div> ); }; export default app;componente persona
import React from 'react'; const person = props => { return( <div> <h3>i am {props.name}</h3> <p>i am {props.age} years old</p> <p>{props.children}</p> </div> ) }; export default person;Intenta poner en mayúsculas 'aplicación' como
const App = props => {...} export default App; En React, los componentes deben estar en mayúsculas y los ganchos personalizados deben comenzar con use .
Siento que estamos haciendo el mismo curso en Udemy.
Si es así, simplemente escriba en mayúsculas
const app
Para
const App
Hazlo tan bien como para el
export default appPara
export default AppFunciona bien para mí.
Por lo que sé, se incluye un linter en este paquete. Y requiere que el componente debe comenzar desde el carácter Capital. Compruébelo por favor.
Sin embargo, en cuanto a mí, es triste.