我看到,如果我在例如中设置了fontFamily
,那么内部元素不会继承它的属性。它是否存在可反应原生样式的级联概念?我如何完成它?最简单的方法来反应原生
1
A
回答
0
将样式传递为在CSS中复制级联的道具。所有子组件都可以继承style
支柱来实现此目的。它想实现:
const styles = StyleSheet.create({
instructions: {
fontSize: 16,
textAlign: 'center',
margin: 15,
},
});
render() {
return (
<View style={styles.container}>
<Text style={styles.instructions}>
<ChildComponent
cascadingStyle={styles}
/>
</View>
);
}
这里是我创建演示rnplay.org/apps/dErxuQ
-1
下面是一个例子为例,父组件将级联它的风格给孩子们。因此,所有的文本将是红色的字体在这里:
render() {
return (
<View style={styles.red}>
<Text>just red</Text>
<Text>just</Text>
<Text>red</Text>
<Text>red</Text>
</View>
);
}
}
const styles = StyleSheet.create({
red: {
color: 'red',
},
});
0
显然,在这一刻组件只能继承父的属性只如果父是同类型的,或者至少也支持属性继承。我在主要的View
组件中设置了fontFamily,并没有在Text
儿童中继承。
2
我发现避免重复样式道具的最简单方法是封装在一个组件中。例如:
const Item = ({ text }) => <Text style={{ padding: 10 }}>{text}</Text>
const Consumer =() =>
<View>
<Item text="Item 1" />
<Item text="Item 2" />
<Item text="Item 3" />
</View>
相关问题
- 1. 转换ArrayList中的最简单的方法来反对[] []
- 2. 反应原生滑动导航方法?
- 3. 最简单的算法来反向冲突方向
- 4. XNA简单的方法来产生enemys
- 5. 最简单的方法来创建JAR?
- 6. 最简单的方法来总计列?
- 7. 最简单的方法来从URL
- 8. 从自我反应到自我反应最简单的方法是什么?
- 9. javascript反应原生的Firebase简单身份验证
- 10. 最简单的方法来创建简单的3D ios应用程序
- 11. 简单的方法来返回到原来的“HEAD”
- 12. 还原 - 反应简单你好世界
- 13. 最简单的方法来发布角2应用到Amazon AWS
- 14. 最简单的方法
- 15. 最简单的方法
- 16. 最简单的方法
- 17. 最简单的方法
- 18. 最简单的方法
- 19. 最简单的方法
- 20. 最简单的方法
- 21. 最简单的方法
- 22. 最简单的方法
- 23. 最简单的方法
- 24. 最简单的方法
- 25. 呈现最简单的成分反应
- 26. 反应原生。 Animated.subtract
- 27. 反应原生ListView
- 28. 最简单的方法来处理OPTIONS方法?
- 29. 最简单的方法来检索最新的推文?
- 30. 反应原生侧菜单不工作
RN级联样式子你,如果你使用的样式属性,你可以阅读更多关于它在这里 - https://facebook.github.io/react-native/docs/style.html –
@MattAft是的,它说'一个常见的模式是让你的组件接受一个样式道具,而这个样式道具反过来用于样式子组件。你可以用它来使CSS样式“级联”。但我不确切地知道这是什么意思。 – R01010010
我编辑了我的答案,以向你展示... – Maxwelll