रिएक्ट नेटिव के लिए Shoutem थीम्स पर एक नज़र डालें ।
यहाँ आपको Shoutem थीम के साथ क्या मिलेगा:
वैश्विक शैली जहां कुछ शैली स्वचालित रूप से अपने शैली नाम से घटक पर लागू होती है:
const theme = {
'my.app.ComponentStyleName': {
backgroundColor: 'navy',
},
};
कुछ घटक विशिष्ट शैली को सक्रिय करना styleName
(जैसे सीएसएस वर्ग):
const theme = {
'my.app.ComponentStyleName': {
'.rounded': {
borderRadius: 20,
},
backgroundColor: 'navy',
},
};
// Implementation - will apply borderRadius to Component
<Component styleName="rounded"/>
स्वचालित शैली विरासत:
const theme = {
'my.app.ComponentStyleName': {
'my.app.ChildComponentStyleName': {
backgroundColor: 'red',
},
'.rounded': {
borderRadius: 20,
},
backgroundColor: 'navy',
},
};
// Implementation - will apply red background color to ChildComponent
<Component styleName="rounded">
<ChildComponent/>
</Component>
रचित घटकों के लिए नेस्टेड शैली:
const theme = {
'my.app.ComponentStyleName': {
containerView: {
paddingTop: 10,
},
innerView: {
backgroundColor: 'yellow',
},
},
};
// Of course do not forget to connect Component
function Component({ style }) {
return (
<View style={style.containerView}>
<View style={style.innerView}>
<Text>Warning with yellow background.</Text>
</View>
</View>
);
}
यह काम करने के लिए आपको उपयोग करने की आवश्यकता है StyleProvider
, रैपर घटक जो संदर्भ के माध्यम से अन्य सभी घटक को शैली प्रदान करता है। Redux के समान StoreProvider
।
इसके अलावा, आपको अपने घटक को शैली से जोड़ने की आवश्यकता है connectStyle
ताकि आप हमेशा जुड़े घटक का उपयोग करें। Redux के समान connect
।
export const styledComponent = connectStyle('my.app.ComponentStyleName',
{ ...defaultStyleIfAny })(Component);
आप प्रलेखन के भीतर उदाहरण देख सकते हैं।
एक आखिरी बात, हमने अपने UI टूलकिट में घटकों के सेट भी प्रदान किए हैं जो पहले से ही शैली से जुड़े हुए हैं, इसलिए आप उन्हें केवल अपनी वैश्विक शैली / थीम में आयात कर सकते हैं।