2016-03-18 14 views
42

के आसपास अप्रत्याशित ब्लॉक स्टेटमेंट मैं अपनी जावास्क्रिप्ट को साफ रखने के लिए "eslint-config-airbnb": "^6.1.0", का उपयोग कर रहा हूं।तीर बॉडी

मेरे लिंटर क्या वैध कोड हो रहा है से नाखुश है:

enter image description here

ऐसा लगता है कि यह एक ongoing issue हो सकता है। क्या किसी के पास ओसीडी डेवलपर के लिए इस बारे में कोई सुझाव है कि इस दौरान इसका समाधान कैसे किया जाए? शायद इस नियम को अक्षम करना या अन्यथा?

+2

तुम क्यों की क्या ज़रूरत है '{वापसी ...}' एक भी बयान के लिए? आप 'this.state.todos.filter (filterTodo => filterTodo! == todo' – sarbbottam

+1

का उपयोग कर सकते हैं जो मुद्दा पृष्ठ आपको लिंक करता है, वह स्थिति अच्छी तरह से बताता है, भ्रम कहां है? यह अजीब लगता है कि यह इसे एक त्रुटि के रूप में नोट करता है चेतावनी के बजाए, हालांकि इसे शायद कॉन्फ़िगर किया जा सकता है। –

उत्तर

65

एक अभिव्यक्ति के लिए ब्लॉक कथन की आवश्यकता नहीं है।

this.state.todos.filter(filterTodo => filterTodo !== todo); 
1

केविन उत्तर में जोड़ने के लिए, त्रुटि आपके एस्लिंट कॉन्फ़िगरेशन से संबंधित है। यह कहा गया है, अगर arrow-body-style विकल्प सत्य पर सेट है, तो ओपी सही है।

return this.state.greetings.map((name) => { 
     return <HelloWorld key={name} name={name} />; 
    }); 

arrow-body-style बिना विकल्प, ब्लॉक बयान ({ return ...}) केविन जवाब के अनुसार की जरूरत नहीं है: एक अन्य उदाहरण कुछ इस तरह होगा।

यह वास्तव में एक नया प्रश्न खोलता है कि कौन सी शैली अधिक उपयुक्त है।

आगे के संदर्भ के लिए: http://eslint.org/docs/rules/arrow-body-style