Sobes.tech
Middle+

¿Por qué React no es reactivo?

sobes.tech AI

Respuesta de la IA

React no es reactivo en el sentido clásico de la programación reactiva, porque no rastrea automáticamente los cambios en los datos y no actualiza la interfaz de usuario en respuesta a cambios de estado sin una llamada explícita.

En React, la actualización de la interfaz se realiza mediante la llamada a la función setState o la actualización del estado mediante hooks (useState, useReducer), lo que inicia una nueva renderización del componente. Este es un enfoque declarativo, pero no reactivo en el sentido de seguimiento automático de flujos de datos y sus cambios.

En frameworks reactivos (por ejemplo, Vue, Svelte, MobX), los cambios en los datos se rastrean automáticamente y conducen a la actualización de la UI sin necesidad de llamar manualmente a las actualizaciones.

Ejemplo en React:

function Counter() {
  const [count, setCount] = React.useState(0);

  // La actualización de la UI solo ocurre después de llamar a setCount
  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

Aquí, React no "reacciona" a los cambios en la variable count, sino que actualiza la UI solo después de llamar a setCount, lo cual es diferente de los sistemas reactivos donde el cambio en la variable se refleja automáticamente en la UI.