相信很多做前端的小伙伴,在开发react-native样式StyleSheet的时候,都遇到一个问题:为什么react-native的StyleSheet开发体验还停留在CSS1994年的水平?
为什么?
为什么?
为什么,不能像世界上最成熟、最稳定、最强大的专业级CSS扩展语言SASS/SCSS那样,实现简单的层级嵌套规则,像less一样也行,请允许我使用层级嵌套规则优雅的书写样式好吗?
本人不才,分享一下自己前两天突然想出的一个略显拙劣的办法:
优点:
- 这个方法不用依赖任何第三方库,只需要三个点即可搞定。
- 可折叠,携带方便!在IDE中可以像折叠Json一样折叠样式。
- 层级缩进清晰明了,IDE自动格式化即可。
缺点:
- 没有局部作用域,毕竟是解构实现的,谨记keyName不能重名。
- 好多点点点,看的人心慌,哎,没办法,这是方法核心所在。
import { StyleSheet } from 'react-native'
export default StyleSheet.create({
...{
page:{
// 第1层级: page style
},
...{
page_hd:{
// 第2层级: page>hd style
},
page_bd:{
// 第2层级: page>bd style
},
page_ft:{
// 第2层级: page>ft style
},
...{
page_ft_bar:{
// 第2层级: page>ft>bar style
}
}
},
},
other:{
// 其他: other style
}
})
PS:
- keyName不能重名
- 每次想要嵌套,请在父级}外面写...{子级}
- 每次遇到三个点,代表往里走了一步。
【不良反应】此药方初次服用,可能部分患者会有短时的膈应不适感,坚持服用一个疗程后,您的中枢神经会慢慢接受,对三个点过敏者慎用。如有更好的药方,请在下方留言...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。