2016-09-22 12 views
17

मैं ईएस 6 और प्रतिक्रिया दोनों के लिए नया हूं और मैं तीर कार्यों को देख रहा हूं। ऐसा क्यों है कि कुछ तीर कार्य वसा तीर और कुछ उपयोग ब्रांड्स के बाद घुंघराले ब्रेसिज़ का उपयोग करते हैं? उदाहरण के लिए:घुंघराले ब्रेसिज़ के बिना तीर फ़ंक्शन

const foo = (params) => (
    <span> 
     <p>Content</p> 
    </span> 
); 

बनाम

const handleBar = (e) => { 
    e.preventDefault(); 
    dispatch('logout'); 
}; 

किसी भी मदद के लिए धन्यवाद!

उत्तर

32

ब्रांड्स एक एकल मूल्य लौट रहे हैं, घुंघराले ब्रेसिज़ कोड की कई पंक्तियों को निष्पादित कर रहे हैं।

आपका उदाहरण उलझन में दिखता है क्योंकि यह जेएसएक्स का उपयोग कर रहा है जो कई "लाइनों" जैसा दिखता है लेकिन वास्तव में केवल एक "तत्व" में संकलित हो जाता है।

const a = (who) => "hello " + who + "!"; 
const b = (who) => (
    "hello " + 
    who + 
    "!" 
); 
const c = (who) => { 
    return "hello " + who + "!"; 
}; 

तुम भी अक्सर वस्तु शाब्दिक के आसपास कोष्ठक दिखाई देगा क्योंकि है कि एक तरह से एक कोड ब्लॉक के रूप में यह इलाज पार्सर से बचने के लिए है::

यहाँ कुछ और उदाहरण है कि सभी एक ही बात कर रहे हैं

const x =() => {} // Does nothing 
const y =() => ({}) // returns an object 
+0

बहुत बढ़िया, धन्यवाद। यह मुझे कुछ अन्य त्रुटियों को समझने में भी मदद करता है जो मुझे मिल रहा है। एक बार मैं कर सकता हूं कि मैं इसे सही के रूप में स्वीकार करूँगा। धन्यवाद डेविड – dkimot

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