关于javascript:export const变量在本机上未定义

export const variable undefined on react native

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

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

Color.js

1
2
3
4
5
6
7
8
9
10
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 is undefined

Color.FUN_BLUE is '#1B61AD'

您有解决此问题的想法吗?


我已经在终端上使用react-native log-android进行了尝试,
并且两个值a?a?都是这样获得的:

在此处输入图片说明

或者也许您可以尝试另一种在Color.js上导出常量的方法,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
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',
});

您可以重试:)