Moim zdaniem najlepszą opcją jest użycie react-native-config . Obsługuje 12 czynników .
Uważam, że ten pakiet jest niezwykle przydatny. Możesz ustawić wiele środowisk, np. Programowanie, staging, produkcja.
W przypadku Androida zmienne dostępne są również w klasach Java, gradle, AndroidManifest.xml itp. W przypadku iOS zmienne dostępne są także w klasach Obj-C Info.plist.
Po prostu tworzysz pliki takie jak
.env.development
.env.staging
.env.production
Wypełniasz te pliki kluczami, wartościami takimi jak
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
a potem po prostu go użyj:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Jeśli chcesz używać różnych środowisk, po prostu ustawiasz zmienną ENVFILE w następujący sposób:
ENVFILE=.env.staging react-native run-android
lub do składania aplikacji na produkcję (w moim przypadku Android):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';
console.log(Platform);