TechIT TECH IN HINDI
Banti Kevat — Founder TechIT
Founder & Author

Banti Kevat

M.Tech AI Student · Full-Stack Developer · Ujjain, MP 🇮🇳

React, MERN aur AI ko simple Hindi mein sikhaata hoon. Real projects banaye hain — Seva Setu (hyperlocal services) aur UjjainTemple (devotional web). Seekha hua sach mein kaam aata hai. 🚀

0+ Articles
0+ Categories
0% Free
हिंदीEasy Language
✅ Free Forever 🇮🇳 Tech in Hindi 👨‍💻 Real Developer 🚫 No Spam 🎓 M.Tech AI
JSX Kya Hai in React: HTML Jaisa Syntax Explained (in Hindi)
Coding info

JSX Kya Hai in React: HTML Jaisa Syntax Explained (in Hindi)

TechIT — Banti Kevat जुलाई 02, 2026 5 min read
Listen to this article (Hindi/English)
JSX Kya Hai in React: HTML Jaisa Syntax Explained (in Hindi)

क्या आप कभी React के कोड को देखकर कंफ्यूज हुए हैं कि JavaScript के बीच में ये HTML जैसा क्या लिखा है? अगर आपका जवाब "हाँ" है, तो आप अकेले नहीं हैं। जब मैंने पहली बार 50 साल पहले... नहीं, चलिए 2013 के आसपास की बात करते हैं, जब ReactJS पहली बार मार्केट में आया था, तब डेवलपर्स को भी ये बहुत अजीब लगा था। आज हम इसी रहस्य से पर्दा उठाएंगे कि आखिर ये JSX क्या बला है और यह हमारे काम को कैसे आसान बनाता है।

⚡ Quick Answer: JSX (JavaScript XML) React का एक syntax extension है जो हमें JavaScript के भीतर सीधे HTML जैसा कोड लिखने की अनुमति देता है। यह ब्राउज़र द्वारा सीधे नहीं पढ़ा जाता; इसे Babel जैसे ट्रांसपाइलर द्वारा शुद्ध JavaScript में कन्वर्ट किया जाता है, जिससे UI logic और markup को एक साथ मैनेज करना आसान हो जाता है।

JSX क्या है और इसकी जरूरत क्यों पड़ी?

दोस्तों, ट्रेडिशनल वेब डेवलपमेंट में हम HTML, CSS और JavaScript को अलग-अलग फाइलों में रखते थे। लेकिन जैसे-जैसे MERN Stack प्रोजेक्ट्स बड़े होने लगे, यह अलग-अलग फाइल्स को मैनेज करना सिरदर्द बन गया। React ने एक क्रांतिकारी आईडिया दिया—"Separation of concerns" के बजाय "Separation of technologies" को अपनाना।

JSX का मुख्य उद्देश्य यह है कि आप अपनी UI को बिल्कुल वैसे ही लिख सकें जैसे आप उसे देखना चाहते हैं। यह कोई स्ट्रिंग नहीं है और न ही यह HTML है। यह JavaScript का एक ऐसा एक्सटेंशन है जो डेवलपर्स को कोड को स्ट्रक्चर करने का एक पावरफुल तरीका देता है।

JSX कैसे काम करता है (Under the hood)?

आपको जानकर हैरानी होगी कि ब्राउज़र JSX को बिल्कुल नहीं समझता। अगर आप ब्राउज़र में सीधा JSX कोड डालेंगे, तो आपको एक बड़ा error मिलेगा। तो यह काम कैसे करता है? यहाँ आता है 'Babel'।

Babel एक कंपाइलर है जो आपके JSX कोड को React.createElement() कॉल में बदल देता है। आइए इसे एक कोड उदाहरण से समझते हैं:

JSX कोड:

const element = <h1 className="greeting">Hello, World!</h1>;

Babel इसे ऐसे कन्वर्ट करता है:

const element = React.createElement(
  'h1',
  {className: 'greeting'},
  'Hello, World!'
);

तो संक्षेप में, JSX हमारे लिए एक 'सिंटैक्स शुगर' की तरह है ताकि हम बिना कॉम्प्लेक्स फंक्शन कॉल्स के साफ-सुथरा UI लिख सकें।

JSX का उपयोग कैसे करें: स्टेप-बाय-स्टेप गाइड

JSX का उपयोग करना बहुत आसान है, बशर्ते आप कुछ बुनियादी नियमों का पालन करें। यहाँ बेसिक तरीके दिए गए हैं:

  1. Curly Braces का प्रयोग: अगर आप JSX के अंदर कोई भी JavaScript expression लिखना चाहते हैं, तो उसे {} के अंदर रखें।
  2. CamelCase Naming: HTML attributes जैसे class को className और onclick को onClick लिखा जाता है, क्योंकि ये JavaScript के Reserved Keywords हैं।
  3. Single Parent Element: आपका पूरा JSX एक ही parent element (जैसे <div> या <Fragment>) के अंदर होना चाहिए।

नीचे एक कंप्लीट एग्जांपल देखें:

import React from 'react';

function App() {
  const name = "Developer";
  const isLoggedIn = true;

  return (
    <div className="container">
      <h1>Welcome, {name}!</h1>
      {isLoggedIn ? <p>You are logged in.</p> : <p>Please login.</p>}
    </div>
  );
}

export default App;

JSX vs HTML: क्या फर्क है?

Feature HTML JSX
Attributes class, for className, htmlFor
Logic No logic support Full JS support inside {}
Execution Parsed by Browser Transpiled by Babel to JS

JSX लिखते समय होने वाली कॉमन गलतियां और समाधान

जब हम कोडिंग करते हैं, तो अक्सर छोटे-मोटे error का सामना करना पड़ता है। सबसे आम गलती है 'Adjacent JSX elements must be wrapped in an enclosing tag'। इसका मतलब है कि आप एक साथ दो <div> टैग्स बिना किसी पैरेंट के रिटर्न कर रहे हैं। इसे सही करने के लिए <>...</> (Fragment) का उपयोग करें।

दूसरी गलती है JavaScript ऑब्जेक्ट्स को सीधे रेंडर करने की कोशिश करना। याद रखें, JSX सिर्फ स्ट्रिंग्स, नंबर्स, या एलिमेंट्स को रेंडर कर सकता है, ऑब्जेक्ट्स को नहीं। अगर आपको ऑब्जेक्ट रेंडर करना है, तो उसे JSON.stringify() का उपयोग करके स्ट्रिंग में बदलें।

अधिक जानकारी के लिए आप React की आधिकारिक वेबसाइट पर देख सकते हैं।

Best Practices for Performance

JSX के साथ काम करते समय परफॉरमेंस का ध्यान रखना बहुत ज़रूरी है। बहुत सारे डेवलपर्स रेंडरिंग के अंदर Middleware जैसा भारी लॉजिक लिख देते हैं, जो गलत है। हमेशा लॉजिक को कंपोनेंट के टॉप पर या बाहर रखें। साथ ही, लिस्ट्स रेंडर करते समय हमेशा एक यूनिक key prop का इस्तेमाल करें, वरना error आ सकता है।

Frequently Asked Questions (FAQs)

Q1: क्या JSX के बिना React का उपयोग कर सकते हैं?
हाँ, आप बिना JSX के React.createElement() का उपयोग करके React कोड लिख सकते हैं, लेकिन यह बहुत जटिल और पढ़ने में मुश्किल होता है। इसलिए JSX ही स्टैंडर्ड तरीका है।
Q2: क्या JSX में inline CSS लिख सकते हैं?
हाँ, लेकिन इसे स्ट्रिंग के बजाय ऑब्जेक्ट के रूप में लिखना होता है, जैसे: style={{color: 'red'}}।
Q3: JSX में if-else कैसे इस्तेमाल करें?
JSX के अंदर आप if स्टेटमेंट नहीं लिख सकते, लेकिन आप Ternary Operator (condition ? true : false) या Logical AND (&&) ऑपरेटर का इस्तेमाल कर सकते हैं।
Q4: क्या JSX और React एक ही चीज हैं?
नहीं, JSX एक सिंटैक्स एक्सटेंशन है और React एक लाइब्रेरी है। आप React के बिना भी JSX का इस्तेमाल कर सकते हैं (जैसे Preact या SolidJS के साथ)।
Q5: क्या JSX ब्राउज़र में सीधे चलता है?
नहीं, ब्राउज़र केवल शुद्ध JavaScript समझते हैं। JSX को चलने के लिए Babel जैसे टूल द्वारा JavaScript में बदलना (transpile) पड़ता है।

तो दोस्तों, आज हमने देखा कि कैसे JSX हमारे कोडिंग एक्सपीरियंस को बेहतर बनाता है। यह सिर्फ एक सिंटैक्स नहीं, बल्कि React के साथ काम करने का एक पावरफुल तरीका है। उम्मीद है अब आप JSX के साथ और भी कॉन्फिडेंट होकर कोड करेंगे!

Kya yeh article helpful tha?

B
Banti KevatFounder

TechIT ka founder · M.Tech AI student · Ujjain, MP. React, AI aur coding ko simple Hindi mein sikhaata hoon taaki har student aage badh sake. 🇮🇳

Advertisement

Related ArticlesAapko yeh bhi pasand aayega

Loading...

टिप्पणियाँ

Hum aapke experience ko behtar banane ke liye cookies use karte hain. Site use karke aap hamari Privacy Policy se sehmat hain.