На мой взгляд, лучший вариант - это использовать response-native-config . Поддерживает 12 факторов .
Я нашел этот пакет чрезвычайно полезным. Вы можете установить несколько сред, например, разработка, подготовка, производство.
В случае Android переменные доступны также в классах Java, gradle, AndroidManifest.xml и т. Д. В случае iOS переменные доступны также в классах Obj-C, Info.plist.
Вы просто создаете файлы, как
.env.development
.env.staging
.env.production
Вы заполняете эти файлы ключом, такими значениями
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
а затем просто используйте его:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Если вы хотите использовать разные среды, вы в основном устанавливаете переменную ENVFILE следующим образом:
ENVFILE=.env.staging react-native run-android
или для сборки приложения для производства (андроид в моем случае):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';
console.log(Platform);