我正在尝试创建一个包含
const MyComponent = props => (
<View {...props}>
<Text {...props}>Hello world</Text>
<View>
)
const MyRedComponent = styled(MyComponent)`
color: #000;
margin-left: 10px;
background: #F00;
`
我以这种方式组成我的组件,这样我就可以在改变背景颜色时从相同样式的组件中改变文本颜色:
const MyBlueComponent = styled(MyRedComponent)`
color: #FFF;
background: #00F;
`
但是,这种方法存在一个问题,即所有样式都应用于
这是否可能使用带有React Native的样式化组件?
您可以使用样式表创建包装函数。展平
并从结果对象中拾取颜色:
const MyComponent = props => (
<View {...props}>
<Text style={{ color: StyleSheet.flatten(props.styles).color }}>Hello world</Text>
<View>
)
const MyRedComponent = styled(MyComponent)`
color: #000;
margin-left: 10px;
background: #F00;
`
将拾取提取到其自身的函数是有意义的。例如,您可以创建以下包装:
const pickColorFromStyles = styles => {
const { color } = StyleSheet.flatten(styles)
return { color }
}
...并在组件中使用该功能:
const MyComponent = props => (
<View {...props}>
<Text style={pickColorFromStyles(props.styles)}>Hello world</Text>
<View>
)
注意使用样式表时出现的警告。从文档页面展平
:
注意:谨慎行事,因为滥用它会在优化方面加重你的负担。ID通常通过网桥和内存启用优化。直接引用样式对象将剥夺这些优化。
我正在使用react-native和styled组件做一个应用程序,我想让文本在图像下可见。我返回的代码是这样的: 我想能够为新狗和{photo.breeds[0].name}{photos.breeds[0].letrich}的点击屏幕设置样式,但我想分别设置它们的样式。 现在我的样式看起来像这样(wisch针对两个文本区域) 有人知道如何编写代码,让它为不同的文本部分创建某种“类名”或其他标识
Button组件通常由Text元素组成,该元素用TouchableHighlight(或其他touchable)包装。我正在尝试创建一个使用styled-components样式的按钮组件,但是我的样式很难动态响应道具。 下面,我创建了一个按钮组件,类似于样式化组件文档中的Adapting based on props示例。 导入后,我用的按钮是这样的... 所以,我希望我的纽扣看起来像这样...
本文向大家介绍ReactNative Image组件使用详解,包括了ReactNative Image组件使用详解的使用技巧和注意事项,需要的朋友参考一下 最近学习ReactNative感觉到挺有意思的,在学习的过程中,发现网上一些人写的文章内容过时了,这主要是ReactNative的版本升级太快,如果你现在看一篇16甚至15年写的文章,把知识点和官方文档对比下,会让你大跌眼镜。所以奉劝各位想学习
我有以下样式的组件: 其中主题是: 我收到以下打字错误: 类型“未定义”不能用作索引类型。 不知道为什么假设是未定义的,如果它是在中定义的-我如何让TypeScript识别这一点?
我在React web上使用样式化组件已经有一段时间了,但最近我开始开发一个React Native应用程序,我决定在中使用样式化的组件。当设计只有属性的组件时,比如默认的components,这是非常好的。 但是,我遇到的问题是,当我需要为具有多个样式属性的更复杂的组件设置样式时,例如、等。 当只有一个样式属性具有不同的名称时,我可以执行以下操作: 这完美无缺,但是当组件具有多种样式时,我不知道
我在使用带有样式化组件的s时遇到困难。当我尝试在下面的类方法中访问它们时,会出现以下错误: Edit.js:42未捕获类型错误:此…..包含的不是函数 我从这个问题中找到了密码 我到底做错了什么?