在本机反应中导出c​​onst变量undefined

时间:2017-08-03 04:08:42

标签: javascript react-native ecmascript-6

我在Color.js上定义了一些const,但是当我在Screen.js上调用它时,一些Color是未定义的

我在本项目中使用react-native 0.45。这是我写的代码:

Color.js

export const ATHENS_GRAY = '#EDEEF0';
export const AQUA_SPRING = '#F8FBFD';
export const BLACK = '#000000';
export const BRIGHT_TURQUOISE = '#1BC1F1';
export const CATSKILL_WHITE = '#E4ECF4';
export const FROLY = '#F68181';
export const FUN_BLUE = '#1B61AD';
export const HIT_GRAY = '#A3AEB9';
export const JUMBO = '#7C7D80';
export const LIMED_SPRUCE = '#3D474C';

Screen.js

import React, {Component} from 'react';
import { View, Text, FlatList, StyleSheet } from 'react-native';
import * as Color from './Color';

export default class Screen extends Component {
  constructor(props) {
    super(props);
    console.log(Color.BRIGHT_TURQUOISE);
    console.log(Color.FUN_BLUE);
  }

  render() {
    return (<View/>)
  }
}

console.log的结果:

  

Color.BRIGHT_TURQUOISE未定义

     

Color.FUN_BLUE是'#1B61AD'

你有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我已经使用react-native log-android在我的终端上试了一下, 这两个值都是这样得到的:

enter image description here

或许您可以尝试其他方式在Color.js上导出常量,如下所示:

module.exports = Object.freeze({
   ATHENS_GRAY : '#EDEEF0',
   AQUA_SPRING : '#F8FBFD',
   BLACK : '#000000',
   BRIGHT_TURQUOISE : '#1BC1F1',
   CATSKILL_WHITE : '#E4ECF4',
   FROLY : '#F68181',
   FUN_BLUE : '#1B61AD',
   HIT_GRAY : '#A3AEB9',
   JUMBO : '#7C7D80',
   LIMED_SPRUCE : '#3D474C',
});

你可以再试一次:))