如何将所有网址保留在一个类中并访问所需的classess in react native

时间:2017-05-17 11:15:03

标签: javascript android react-native

我创建了一个类,例如“allAPI.js” 在里面

export default class allAPI extends Component {

BASE_URL: 'http://xx:xx:xx:xx/8080/api/app/"

Login:BASE_URL+ '/login';
Homepage: BASE_URL + '/home'
}

如何将所有网址保存在一个位置,并将这些网址访问到需要调用网址的所需网页。

2 个答案:

答案 0 :(得分:0)

构建Global.js

module.exports = {
  BASE_URL: 'http://google.com',
  COLOR_TEXT: 'blue',
  //etc
};

在你的主要上你需要

GLOBAL = require('./globals');

然后使用链接:

<View><Text>{GLOBAL.BASE_URL}</Text></View>

答案 1 :(得分:0)

说实话,有很多方法可以做到。你可以通过定义一个类并放置与特定端点相对应的所有变量来绕过它。您可以在有意义的上下文中定义特定端点等。

由于ReactNative没有const的定义,因此所有的URL都必须是绝对的。这种方法的问题在于您的端点将是变量,这意味着由于代码中的错误,您可以在运行时重写它们。

遗憾的是,默认情况下,javascript不支持类中的export default function constantMaker(clazz, variable, value, writable = false, enumerable = true, configurable = false) { Object.defineProperty(clazz, variable, { value: value, writable: writable, enumerable: enumerable, configurable: configurable }); } 字段,但有一种解决方法。我个人使用这个片段来构建我的端点类:

import makeConstant from "./modules/helper/constant-maker.js";
export default class Constant {

}

makeConstant(Constant, "baseHTTP", "https:");
makeConstant(Constant, "baseUrl", Constant.baseHTTP + "//website.com");
makeConstant(Constant, "apiEndpoint", Constant.baseUrl + "/app/");
makeConstant(Constant, "newsUrl", Constant.apiEndpoint + "news/");
makeConstant(Constant, "clubsUrl", Constant.apiEndpoint + "clubs/");
makeConstant(Constant, "timetableUrl", Constant.apiEndpoint + "workout/timetable/");

然后这样称呼它:

constant.js

导入<TargetLatestRuntimePatch>true</…>后,您的终端将作为该类中的字段提供。