Sobes.tech
Middle+

Чаро React реактивӣ нест?

sobes.tech AI

Ҷавоб аз AI

React дар асоси фаҳмиши анъанавии барномасозии реактивӣ реактивӣ нест, зеро он тағйиротҳои маълумотро автоматӣ пайгирӣ намекунад ва ба ҳар гуна тағйироти ҳолат бидуни даъвати ошкоро навсозӣ намекунад.

Дар React навсозии интерфейс тавассути даъвати функсияи setState ё навсозии ҳолат бо hooks (useState, useReducer) сурат мегирад, ки ин ба навсозии навбатии компонент мусоидат мекунад. Ин як рӯҳияи декларативӣ аст, аммо дар маънои пайгирии автоматии ҷараёнҳои маълумот ва тағйиротҳои онҳо реактив нест.

Дар рамзҳои реактивӣ (масалан, Vue, Svelte, MobX) тағйиротҳои маълумот автоматӣ пайгирӣ мешаванд ва ба навсозии UI бе зарурати даъвати дастӣ оварда мерасонанд.

Масалан дар React:

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

  // Навсозии UI танҳо пас аз даъвати setCount
  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

Ин ҷо React ба тағйироти тағйирёбандаи count "реаксия" намедиҳад, балки UI-ро танҳо пас аз даъвати setCount нав мекунад, ки аз системҳои реактивӣ, ки тағйироти тағйирёбанда ба автоматӣ дар UI инъикос мешавад, фарқ мекунад.