DEV Community

banti kevat
banti kevat

Posted on • Originally published at itinfohubs.blogspot.com

React me preventDefault aur stopPropagation Kaise Use Karein

React me preventDefault aur stopPropagation Kaise Use Karein (in Hindi)
ReactJS mein preventDefault aur stopPropagation ka use kaise karein? Is Hindi guide mein event handling aur bubbling ke concepts ko step-by-step seekhein.

Doston, jab hum ReactJS mein kaam karte hain, toh event handling ek basic requirement ban jati hai. Aksar hum dekhte hain ki button click karne par page refresh ho raha hai ya phir parent component ka function bina wajah trigger ho raha hai. Kya aap bhi inhi problems se pareshan hain? Chaliye, aaj inke concepts ko bilkul simple bhasha mein samajhte hain.

⚡ Quick Answer: preventDefault() ka use browser ke default behavior (jaise form submit hone par page refresh) ko rokne ke liye kiya jata hai. Wahi, stopPropagation() ka use event bubbling ko rokne ke liye hota hai, taaki event parent elements tak na pahunche. Ye dono functions SyntheticEvent object ka part hote hain.

preventDefault क्या है और इसका use कब करें?

Browser ke apne kuch default actions hote hain. Jaise hi aap HTML form ke submit button par click karte hain, browser pura page reload kar deta hai. React mein hum chahte hain ki page reload na ho aur hum data ko handle kar sakein. Yahan kaam aata hai event.preventDefault().

Jab aap kisi form ya link (anchor tag) ke default behavior ko override karna chahte hain, tab aap is method ka istemal karte hain.

function FormComponent() {
  const handleSubmit = (event) => {
    // Page reload hone se rokta hai
    event.preventDefault(); 
    console.log("Form submitted successfully!");
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" placeholder="Enter name" />
      <button type="submit">Submit</button>
    </form>
  );
}
Enter fullscreen mode Exit fullscreen mode

stopPropagation क्या है और यह क्यों ज़रूरी है?

Event bubbling ek aisi process hai jahan ek event child element se shuru ho kar uske parent elements tak propagate hota hai. Agar aapne ek button par click kiya, aur us button ke parent (div) par bhi ek click handler hai, toh dono trigger ho jayenge. Isse bachne ke liye hum event.stopPropagation() ka use karte hain.

🏗️ Architecture Diagram: Event Flow

Child Button

Parent Div

Global Event

Diagram: StopPropagation se event ko parent tak jaane se rokein.

preventDefault vs stopPropagation: मुख्य अंतर

Bahut se naye developers confuse ho jate hain. Yeh table aapko dono ke beech ka farq saaf samjha degi:

Feature preventDefault() stopPropagation()
काम क्या है? Browser action ko rokna Event bubbling ko rokna
उदाहरण Form submit, Link redirection Click inside container

ReactJS में इनका इस्तेमाल कैसे करें (Step-by-Step)

  1. Event Object Access Karein: React ke event handler function mein argument ke taur par e (event) pass karein.
  2. Method Call Karein: Function ke andar e.preventDefault() ya e.stopPropagation() call karein.
  3. Testing: Browser console mein check karein ki kya unwanted events trigger ho rahe hain.

Agar aapko kabhi koi error face karni pade, toh check karein ki kya aapne event object ko sahi se pass kiya hai. Aksar log () => handleClick() ke bajaye direct function pass kar dete hain, jisse event object undefined milta hai.

Best Practices for Performance

  • Hamesha zaroorat hone par hi inka use karein. Har jagah preventDefault lagane se accessibility issue ho sakte hain.
  • React SyntheticEvent ko samjhein. Ye natively DOM events nahi hote, lekin inka behaviour waise hi hota hai.
  • Official React Docs par event handling ka section zaroor padhein kyunki ye basics aapke development career mein bahut kaam aayenge.

Frequently Asked Questions (FAQs)

Frequently Asked Questions (FAQs)

Q1: Kya hum ek sath dono use kar sakte hain?
Ji haan, aap ek hi event handler mein e.preventDefault() aur e.stopPropagation() dono call kar sakte hain agar requirement waisi hai.
Q2: React mein SyntheticEvent kya hota hai?
React browser ke native events ko wrap karke ek cross-browser wrapper banata hai jise SyntheticEvent kehte hain.
Q3: Form submit button par preventDefault kyun zaroori hai?
Kyunki default HTML form ka behaviour page reload karna hota hai, jo Single Page Application (SPA) ke concept ke khilaf hai.
Q4: StopPropagation kab use nahi karna chahiye?
Jab aapke parent elements ko child ke interactions se update hona ho, tab stopPropagation use na karein.
Q5: Kya ye methods sirf React mein hi hote hain?
Nahi, ye pure JavaScript ke methods hain jo React ke events mein bhi vaise hi kaam karte hain.

Toh doston, humne aaj seekha ki kaise preventDefault aur stopPropagation aapke React app ke control ko behtar banate hain. In choti-choti baaton se hi aap ek behtar developer bante hain. Happy coding!

Top comments (0)