2015-11-28 9 views
7

में परिभाषित ओवरराइड करने के लिए मान लीजिए कि मैं नीचे परिभाषित शैली के साथ एक घटक का उपयोग करना चाहते हैं:प्रतिक्रिया देशी: कैसे डिफ़ॉल्ट शैली एक घटक

var styles = StyleSheet.create({ 
    container: { 
    backgroundColor: '#ffffff' 
    }, 
}); 

मैं इस तरह मेरा साथ आधार शैली को ओवरराइड कर सकते हैं?

<Component style={backgroundColor: 'transparent'}></Component> 

यह मेरे लिए काम नहीं किया है, तो आश्चर्य है कि अगर इस पर निर्भर करता है घटक व्यवहार का समर्थन करता है।

+0

यह ठीक उसी तरह काम करना चाहिए, शायद वाक्यविन्यास बंद है? शैली = {{पृष्ठभूमि रंग: 'पारदर्शी'}} का प्रयास करें। –

उत्तर

15

विवरण थोड़ा अस्पष्ट है। क्या यह एक घटक है जिसे आपने स्वयं लिखा है? मान लीजिए कि इसे इस तरह काम करना चाहिए:

export default React.createClass({ 
    render: function(){ 
    return(<View style={[ styles.container, this.props.style ]}>...</View> 
    } 
}) 

var styles = StyleSheet.create({ 
    container: { 
    backgroundColor: '#ffffff' 
    }, 
}); 
+0

यह एक तृतीय पक्ष घटक है, मैं इसे संशोधित नहीं करना चाहता, इस प्रकार सवाल। –

+0

ठीक है, तो आपको लगता है कि, उनके कोड को जांचना होगा। उस घटक में किसी भी शैली में बदलाव करने का एकमात्र तरीका प्रोप के माध्यम से होता है। आपको उनके दृश्य तत्वों को देखना होगा और देखें कि वे शैली गुणों के लिए कोई भी प्रोप लागू करते हैं या नहीं। आवश्यक रूप से शैली का नाम नहीं दिया जाएगा। –

+0

आप घटक को एक दृश्य के साथ लपेटने और इसमें शैलियों को जोड़ने का प्रयास कर सकते हैं। (लेकिन यह सभी बच्चों पर लागू नहीं हो सकता है क्योंकि कोई कैस्केडिंग नहीं है) – everlasto

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