Sobes.tech
Middle+

Miért nem reaktív a React?

sobes.tech MI

Válasz az MI-től

A React nem klasszikus értelemben vett reaktív, mert nem követi automatikusan az adatok változásait, és nem frissíti a felhasználói felületet a állapotváltozásokra adott explicit hívás nélkül.

Reactben a felület frissítése a setState függvény hívásával vagy a hook-ok (useState, useReducer) segítségével történő állapotfrissítéssel történik, ami újrarendereli a komponenst. Ez deklaratív megközelítés, de nem automatikusan követi az adatfolyamokat és azok változásait.

Reaktív keretrendszerekben (pl. Vue, Svelte, MobX) az adatmódosításokat automatikusan követik, és frissítik a UI-t anélkül, hogy manuálisan kellene hívni a frissítéseket.

React példája:

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

  // A UI csak a setCount hívása után frissül
  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

Itt a React nem "reagál" a count változására, hanem csak a setCount hívása után frissíti a UI-t, ami eltér a reaktív rendszerektől, ahol a változás automatikusan tükröződik a UI-ban.