Igual que las funciones en JavaScript, los componentes de React también pueden tener side effects (efectos colaterales). Un efecto colateral significa que el componente manipula o lee información que no está dentro de su ámbito.
Aquí puedes ver un ejemplo simple de un componente que tiene un efecto colateral. Un componente que lee y modifica una variable que está fuera del componente. Esto hace que sea imposible saber qué renderizará el componente cada vez que se use, ya que no sabemos el valor que tendrá count
:
let count = 0
function Counter() {
count = count + 1
return (
<p>Contador: {count}</p>
)
}
export default function Counters() {
return (
<>
<Counter />
<Counter />
<Counter />
</>
)