Skip to content

Providing environment variables from native to js in React Native.

Notifications You must be signed in to change notification settings

xgfe/react-native-native-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-native-env

React Native Native Environment module can provide environment variables from native to js

Install

You can use rnpm to install native module easily;

npm install react-native-native-env --save
rnpm link

And in Android, you must change the line in MainActivity :

new RCTNativeEnvPackage()

to

new RCTNativeEnvPackage(BuildConfig.class)

Usage

In js:

import NativeEnv from 'react-native-native-env';

NativeEnv.get("APPLICATION_NAME"); // return application's name
NativeEnv.get("VERSION_NAME");// return application's version name

Yeah, we hava defined some native variables. These're:

Key Source ( Android ) Source ( iOS )
APPLICATION_ID BuildConfig.APPLICATION_ID CFBundleIdentifier
APPLICATION_NAME PackageManager.getApplicationLabel CFBundleName
VERSION_CODE BuildConfig.VERSION_CODE CFBundleVersion
VERSION_NAME BuildConfig.VERSION_NAME CFBundleShortVersionString
DEBUG BuildConfig.DEBUG #ifdef DEBUG

Also, you can add some environment variables before react-native runtime is running.

###For Android Your can send a Map when you init this Module:

HashMap<String, Object> envs = new HashMap();
envs.put("testInfo", "this is a string");
envs.put("testNumber", 23333);
new RCTNativeEnvPackage(BuildConfig.class, envs);

And you can add variables from everywhere before it's inited:

RCTNativeEnv.addEnv(key, value);
RCTNativeEnv.addEnvs(map);

###For iOS Your can just add variables from everywhere before react runtime running.

[LRDRCTNativeEnv addEnv:@"test" value:@"info"];
[LRDRCTNativeEnv addEnvs:@{@"testInfo":@"this is a string",@"testNumber":@23333}];

About

Providing environment variables from native to js in React Native.

Resources

Stars

Watchers

Forks

Packages

No packages published