2015-10-09 9 views
7

के बीच अंतर के बारे में भ्रमित मैं बहुत प्रतिक्रिया करने के लिए नया हूँ, मैं सबसे ट्यूटोरियल JSX बारे में बात की मिल जाए, मैं किसी भी JSX वाक्य रचना नहीं सीखा है, लेकिन मैं सोच रहा हूँ अगर जावास्क्रिप्ट और JSX के बीच मुख्य अंतर के उपयोग में प्रतिक्रिया केवल HTML- जैसे सिंटैक्स पर है? या फिर और क्या ध्यान देना चाहिए?शुरुआत प्रतिक्रिया जावास्क्रिप्ट और JSX

+2

जेएसएक्स * एचटीएमएल की तरह वाक्यविन्यास है। –

+0

@DavinTryon धन्यवाद, इसलिए भले ही मैं एक

1
एक JSX संकलक के साथ

, आप React.createElement के लिए कॉल करने के लिए JSX भाव बदल सकता है। SCRIPT टैग के रूप में इनलाइन एचटीएमएल फाइलों के साथ पहले जो हासिल किया गया है, यह हासिल करने का एक और सुविधाजनक तरीका है और, वास्तव में, अन्य जेएसएक्स कंपाइलर्स हैं जो प्रतिक्रिया करने के लिए बाध्य नहीं हैं।

आप एक स्पष्ट उदाहरण के लिए, के रूप में यह Babel के माध्यम से जे एस का संकलन किया है निम्नलिखित JSX कोड को देखने का प्रयास:

import React from 'react'; 

var Foo = React.createClass({ 
    render() { 
    return (
     <div> 
     <p> 
      Ad postea vocent equidem. 
     </p> 
     </div> 
    ); 
    } 
}); 
+0

धन्यवाद, इसलिए मूल रूप से आखिरकार लक्ष्य जेएस सिंटैक्स में जेएस सिंटैक्स में नहीं सबकुछ बदलना है, कोई जेएसएक्स व्याख्याता नहीं है। सही? – Kuan

0

JSX ECMAScript करने के लिए XML की तरह वाक्यविन्यास विस्तार है और जरूरी पर प्रतिक्रिया से बंधा नहीं सब। प्रतिक्रिया केवल ट्रांस्फरर है, इंजन जो जेएसएक्स के पेड़ को वैध जावास्क्रिप्ट में बदल देता है। प्रतिक्रिया है कि जैसे अन्य transpilers हैं JSX वाक्य रचना के साथ-साथ, JSXDom और MercuryJSX है। जेएसएक्स किसी भी एक्सएमएल या एचटीएमएल विनिर्देश के अनुरूप नहीं है या किसी भी तरह से ईसीएमएस्क्रिप्ट के अलावा है और इसका आविष्कार फेसबुक पर किया गया था।

जेएसएक्स के पीछे तर्क यह था कि फेसबुक एक प्रकार का सिंटैक्स एक्सटेंशन चाहता था कि डेवलपर्स स्पष्ट और संक्षिप्त विनिर्देश के साथ पीछे हट सकें और आशा है कि अभी तक एक और "भाषा" को कम करें।

+2

एक ट्रांसलेटर एक उपकरण है जैसे बेबेल; प्रतिक्रिया एक पुस्तकालय है – FakeRainBrigand

संबंधित मुद्दे