El estado en React nos ayuda a crear datos mutables o datos que pueden ser modificados.
Para manejar el estado depende de si nuestro componente es generado con una clase o si es un componente funcional.
Clase: Para manejar el estado dentro de una clase podemos crearlo en el constructor de la clase, y para actualizarlo utilizamos el settersetState
Función Si estamos en un componente funcional podemos utilizar el hook de estado, que nos regresará arreglo con un getter (que será el valor de nuestro estado) y un setter (una función para actualizar el estado).
¿Qué son los Hooks?
Los Hooks son funciones que te permiten enganchar el estado de React y el ciclo de vida desde componentes funcionales, entre muchas otras cosas. Nos permiten usar React sin clases.
Estado en componentes clase
Para manejar el estado en componentes clase necesitamos crearlo como una propiedad dentro de nuestro componente clase, usamos this.state, y para actualizar el estado, la clase de React ya tiene un setter: this.setState. (Dentro de este tipo de componentes no se pueden usar los hooks).
classComponentextendsReact.Component{constructor(){this.state={patito:'👍'}}render(){return(<button onClick={()=>this.setState("Has dado un like")}>{this.state.patito}</button>)}}
Estado en componentes funcionales
El manejo del estado en estos componentes es mucho más sencillo, utilizando el hook de estado.
Podemos importar este hook directamente de React o desestructurándolo de React: