React Native - 在同一个对象中引用键?

时间:2018-02-14 10:58:36

标签: javascript reactjs react-native

我有一个URL集合,我想在我的React-Native应用程序中用作常量文件。

export default {
  HTTP_HOST: 'http://192.168.1.5',
  SIGNUP_API: this.HTTP_HOST+'/services/registerMobileNumber.php',
};

当我导入如下的constant.js时

import GLOBAL from '../../constant.js';

GLOBAL.HTTP_HOST工作正常, 但GLOBAL.SIGNUP_API给出了undefined/services/registerMobileNumber.php

如何在同一个对象中引用密钥HTTP_HOST?

3 个答案:

答案 0 :(得分:1)

JavaScript(JSON)不允许您这样做。但是,您可以通过其他方式选择其他方法来实现所需的行为:

How can a Javascript object refer to values in itself?

答案 1 :(得分:1)

您可以通过两种方法执行此操作 1.请勿使用OUTER变量名称来引用它,例如:

const SERVICES = {
             HTTP_HOST:'http://192.168.1.5',
             SIGNUP_API: SERVICES.HTTP_HOST+'/monopoly/services/registerMobileNumber.php'
        };
export default SERVICES;
  1. 您可以将自定义getter和setter用于密钥SIGNUP_API。

    const SERVICES = {
      HTTP_HOST:'http://192.168.1.5',
      get SIGNUP_API() {
        return this.HTTP_HOST+'/monopoly/services/registerMobileNumber.php'
      }
    }
    export default SERVICES;
    

现在,两种方法都将为您提供相同的输出。例如-

import GLOBAL from '../../constant.js';
console.log(GLOBAL.SIGNUP_API) 

给出输出,
http://192.168.1.5/monopoly/services/registerMobileNumber.php

答案 2 :(得分:0)

显然没有解决方案..

所以我试过这个并且有效。

const HTTP_HOST = 'http://192.168.1.5';

const SERVICES = {
    SIGNUP_API: HTTP_HOST+'/monopoly/services/registerMobileNumber.php'
}

export default SERVICES;