En mi opinión, la mejor opción es usar react-native-config . Es compatible con 12 factores .
Encontré este paquete extremadamente útil. Puede configurar múltiples entornos, por ejemplo, desarrollo, puesta en escena, producción.
En el caso de Android, las variables están disponibles también en las clases Java, gradle, AndroidManifest.xml, etc. En el caso de iOS, las variables también están disponibles en las clases Obj-C, Info.plist.
Simplemente creas archivos como
.env.development
.env.staging
.env.production
Rellena estos archivos con clave, valores como
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
y luego solo utilízalo:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Si desea utilizar diferentes entornos, básicamente configura la variable ENVFILE de esta manera:
ENVFILE=.env.staging react-native run-android
o para ensamblar aplicaciones para producción (Android en mi caso):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';
console.log(Platform);