რატომ არ არის React რეაქტიული?
sobes.tech AI
პასუხი AI-სგან
React پرنسپلي رواجي سمجهڻ ۾ ريئڪٽو ناهي، ڇو ته اهو ڊيٽا جي تبديلين کي پاڻمرادو نه ٿو ٽريڪ ڪري ۽ حالت جي ڪنهن به تبديلي تي UI کي ظاهر ڪرڻ کان سواءِ اپڊيٽ نٿو ڪري.
React ۾، انٽرفيس جي اپڊيٽ setState فنڪشن کي سڏڻ يا هُڪس (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 سڏڻ کان پوء اپڊيٽ ڪري ٿو، جيڪو ريئڪٽو نظامن کان مختلف آهي، جتي count جي تبديلي پاڻمرادو UI ۾ ظاهر ٿئي ٿي.