À mon avis, la meilleure option est d'utiliser react-native-config . Il prend en charge 12 facteurs .
J'ai trouvé ce package extrêmement utile. Vous pouvez définir plusieurs environnements, par exemple le développement, la mise en scène, la production.
Dans le cas d'Android, les variables sont également disponibles dans les classes Java, gradle, AndroidManifest.xml etc. Dans le cas d'iOS, les variables sont également disponibles dans les classes Obj-C, Info.plist.
Vous créez simplement des fichiers comme
.env.development
.env.staging
.env.production
Vous remplissez ces fichiers avec des clés, des valeurs telles que
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
puis utilisez-le simplement:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Si vous souhaitez utiliser différents environnements, vous définissez essentiellement la variable ENVFILE comme ceci:
ENVFILE=.env.staging react-native run-android
ou pour assembler l'application pour la production (android dans mon cas):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';
console.log(Platform);