Syd*_*ria 19 ios reactjs react-native
在React Native中是否有一种方法可以将我的所有样式放在一个文件中,这样就可以很容易地维护(从我的角度来看),就像HTML中我们有一个.css文件一样.
而且我有一个模块,根据当前用户有不同的样式.
Chr*_*man 26
您可以使用所有样式创建一个样式组件,就像这样...
import { StyleSheet } from "react-native"
export default StyleSheet.create({
...
})
Run Code Online (Sandbox Code Playgroud)
然后在需要样式的任何视图上,只需要它...
import styles from "./Styles"
Run Code Online (Sandbox Code Playgroud)
Has*_*tne 15
根据ECMAScript 6,导出样式的正确方法就是这样.
style.js
import {StyleSheet} from 'react-native'
export default StyleSheet.create({
container: {
flex: 1,
marginTop: 20
},
welcome: {
textAlign: 'center'
}
});
Run Code Online (Sandbox Code Playgroud)
然后在您的主JS文件中,您可以像这样导入.
import styles from './style'
Run Code Online (Sandbox Code Playgroud)
是的你可以
样式.js
module.exports = {
"centerRowAligment":{
flex: 1,
backgroundColor:"#a22a5f",
flexDirection: 'row',
alignItems:"center"
},
"centerColumnAligment":{
flex: 1,
justifyContent: 'center',
flexDirection: 'column',
alignItems: 'center'
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你的反应文件中导入它
import styles from './style'
Run Code Online (Sandbox Code Playgroud)
然后在渲染组件中使用它
<View style={styles.centerRowAligment}></View>
Run Code Online (Sandbox Code Playgroud)
这应该可以正常工作!
你可以试试我的项目rn-less。
它使用 less.js 将样式表与 jsx/js 文件隔离开来。
我有一个VS Code 扩展,你可以轻松地在 .less 文件和 .js/.jsx 文件之间跳转。
小智 3
您可以将此模块添加到管道中,并创建 Gulp 或 Webpack 任务以将 CSS 转换为 JavaScript。
根据我的经验,最好不要对 Web 和 React Native 使用相同的 CSS,因为 React Native 的样式表实际上并不级联。
或者,如果您愿意稍微改变一下您的管道,PostCSS,它是一个 CSS4 到 CSS3 的转译器,支持 SASS 的所有功能,也可以用于将 CSS 转译为 JavaScript
| 归档时间: |
|
| 查看次数: |
20709 次 |
| 最近记录: |