如何在本机中导入和导出样式?

时间:2018-02-10 22:33:39

标签: css react-native styles

我是新手来反应原生。我学会了组件的好处,嵌入了外部样式。现在我正在尝试使用全局样式。我想在我的应用程序中使用相同样式的文本,按钮。< / p>

最好不要在每个组件中重复样式,我想在样式包下创建单独的text.js,button.js来自定义视图样式。 enter image description here

这是我的项目结构。我想将text.js导入我的index.js。

index.js

import { AppRegistry } from 'react-native';
import React, {Component} from 'react';
import {
  Text
} from 'react-native';
import text from './App/styles';

export default class FirstApp extends Component{
    render(){
      return (
        <Text styles={text.p}>Customising React</Text>
      );
    }
}
AppRegistry.registerComponent('FirstApp', () => FirstApp);

text.js

import{
  StyleSheet
} from 'react-native';

export default const text = StyleSheet.create({
  p: {
    color: 'blue',
    fontSize: 14
  }
});

有没有办法将我的text.js样式导入index.js中的文本视图?

3 个答案:

答案 0 :(得分:1)

Export default const is invalid. 如果您希望文本成为默认导出,则需要定义它并在单独的语句中导出。

const text = StyleSheet.create({...}); export default test;

此外,您的导入路径看起来与您的实际应用程序结构不符。

  

从&#39; ./ App / styles&#39;;

导入文字

更改为

  

从&#39; ./ styles / text.js&#39;;

导入文字

答案 1 :(得分:1)

在style.js

上创建
    const style = StyleSheet.create({
    p: {
        color: 'blue',
        fontSize: 14
      }
    })

export default style;

并导入您想要的任何地方

像这样

import Style from './(path to file)/style'

使用这样的风格

<View style={[Style.p, {
                        padding: 20,
                        backgroundColor: 'grey',
                        justifyContent: 'center',
                        alignContent: 'center'
                    }]}>

如果一次性使用

 <View style={Style.p}>

所以这可能会有所帮助

答案 2 :(得分:1)

创建一个名为'style.js'的新文件

export const customStyle = StyleSheet.create({
   blueblue:{
      color: blue
   }
})

并在您的组件文件中

import {customStyle} from './style'

...
<Text style={customStyle.blueblue}>Hi</Text>