ดูธีม Shoutemสำหรับ React Native
นี่คือสิ่งที่คุณจะได้รับจากธีม Shoutem:
สไตล์ส่วนกลางที่สไตล์บางอย่างถูกนำไปใช้กับส่วนประกอบโดยอัตโนมัติตามชื่อสไตล์:
const theme = {
'my.app.ComponentStyleName': {
backgroundColor: 'navy',
},
};
การเปิดใช้งานสไตล์เฉพาะขององค์ประกอบบางอย่างด้วยstyleName
(เช่นคลาส CSS):
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
คอมโพเนนต์ Wrapper ซึ่งให้สไตล์กับส่วนประกอบอื่น ๆ ทั้งหมดผ่านบริบท คล้ายกับ StoreProvider
Redux
นอกจากนี้คุณต้องเชื่อมต่อส่วนประกอบของคุณกับสไตล์ด้วยconnectStyle
ดังนั้นคุณจึงใช้ส่วนประกอบที่เชื่อมต่ออยู่เสมอ คล้ายกับ connect
Redux
export const styledComponent = connectStyle('my.app.ComponentStyleName',
{ ...defaultStyleIfAny })(Component);
คุณสามารถดูตัวอย่างได้ในเอกสารประกอบ
สิ่งสุดท้ายคือเราได้จัดเตรียมชุดส่วนประกอบในUI ToolKitของเราซึ่งเชื่อมต่อกับสไตล์แล้วดังนั้นคุณสามารถนำเข้าและจัดรูปแบบในสไตล์ / ธีมทั่วโลกของคุณได้