Reactjs 反应本地元素全局样式
与其单独设置每个元素的样式,不如说我的react本机应用程序中不同页面/组件上许多元素的背景色 通用元素的全局样式的最佳实践是什么?有效的方法。谢谢各位Reactjs 反应本地元素全局样式,reactjs,react-native,Reactjs,React Native,与其单独设置每个元素的样式,不如说我的react本机应用程序中不同页面/组件上许多元素的背景色 通用元素的全局样式的最佳实践是什么?有效的方法。谢谢各位 PS:我使用的是函数而不是类,而且我对react-native还不熟悉。react-native样式基于js对象。因此,您可以在单独的js文件上创建“样式化”对象,并将这些文件导入react组件。由于有时根据状态变量的值更改对象的样式是一个好主意,因此最好在附近有“快速理解”所需的值。这一切都取决于您如何组织代码。例如,下一个代码(来自本机教程
PS:我使用的是函数而不是类,而且我对react-native还不熟悉。react-native样式基于js对象。因此,您可以在单独的js文件上创建“样式化”对象,并将这些文件导入react组件。由于有时根据状态变量的值更改对象的样式是一个好主意,因此最好在附近有“快速理解”所需的值。这一切都取决于您如何组织代码。例如,下一个代码(来自本机教程)可以在单独的js文件中声明:
export const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
button: {
alignItems: 'center',
backgroundColor: '#DDDDDD',
padding: 10,
marginBottom: 10
}
})
然后使用导入命令导入:
import {styles} from '.... path to file where you placed styles code ... "
如果您不想使用类继承,您可以编写可以将样式应用于其子级的HOC。在子组件内,从父组件继承所需的特性样式。 BaseStyle是hoc,维护所有组件的css定义。在需要继承的组件上,我们需要通过提供所需的样式道具来使用BaseStyle对其进行包装
function ComponentInheritingStyle() {
return (
<BaseStyle style={styles.button}>
{...this.props.children}
</BaseStyle>
);
}
export const styles = StyleSheet.create({
button: {
backgroundColor: 'blue',
fontSize: '12',
borderRadius: '4',
},
div: {
border: '2px',
borderColor: 'lightblue',
padding: 10,
marginBottom: 10
}
})
函数ComponentInheritingStyle(){
返回(
{……这个。道具。孩子们}
);
}
export const styles=StyleSheet.create({
按钮:{
背景颜色:“蓝色”,
字体大小:“12”,
边界半径:“4”,
},
分区:{
边框:“2px”,
边框颜色:“浅蓝色”,
填充:10,
marginBottom:10
}
})
为了更清晰,你可以在课堂上阅读下面的链接。