En React, los componentes son los bloques de construcción básicos de la interfaz de usuario. Pueden ser clases o funciones que retornan elementos de React. Los componentes permiten encapsular el código y la lógica para partes específicas de la interfaz de usuario.
import React from 'react';
class MiComponente extends React.Component {
render() {
return <h1>Hola desde MiComponente</h1>;
}
}
export default MiComponente;
JSX (JavaScript XML) es una extensión de sintaxis que permite escribir HTML dentro del código JavaScript. JSX hace que la creación de elementos y componentes en React sea más legible y expresiva.
import React from 'react';
class MiComponente extends React.Component {
render() {
return (
<div>
<h1>Hola desde MiComponente</h1>
<p>Esto es JSX en acción.</p>
</div>
);
}
}
export default MiComponente;
El método render() de un componente es responsable de definir qué elementos o componentes se mostrarán en la interfaz de usuario. React utiliza este método para generar una representación del Virtual DOM y actualizar el DOM real según sea necesario.
import React from 'react';
class MiComponente extends React.Component {
render() {
return (
<div>
<h1>Hola desde MiComponente</h1>
<p>Renderizado de componentes en acción.</p>
</div>
);
}
}
export default MiComponente;
Las props son la forma principal de pasar datos de un componente padre a un componente hijo en React. Las props son inmutables y permiten que los componentes compartan información entre sí.
import React from 'react';
class Saludo extends React.Component {
render() {
return <p>Hola, {this.props.nombre}!</p>;
}
}
// Uso del componente Saludo
<Saludo nombre="Juan" />;
El estado es una característica importante en React que permite que un componente mantenga y controle su propia información mutable. Para usar el estado, se debe definir en el constructor del componente y luego se accede a través de this.state.
import React from 'react';
class Contador extends React.Component {
constructor(props) {
super(props);
this.state = { contador: 0 };
}
render() {
return (
<div>
<p>Contador: {this.state.contador}</p>
<button onClick={() => this.setState({ contador: this.state.contador + 1 })}>
Incrementar
</button>
</div>
);
}
}
export default Contador;
Cuando se actualiza el estado de un componente mediante setState(), React realiza una comparación con el estado anterior y el nuevo estado para determinar qué cambios aplicar al Virtual DOM y al DOM real.
import React from 'react';
class Contador extends React.Component {
constructor(props) {
super(props);
this.state = { contador: 0 };
}
incrementarContador = () => {
this.setState({ contador: this.state.contador + 1 });
};
render() {
return (
<div>
<p>Contador: {this.state.contador}</p>
<button onClick={this.incrementarContador}>Incrementar</button>
</div>
);
}
}
export default Contador;
Estos conceptos son fundamentales para trabajar con React. En los próximos módulos, exploraremos cómo manejar eventos, comunicación entre componentes y más avanzado en el desarrollo de aplicaciones React.