Na minha opinião, a melhor opção é usar o react-native-config . Suporta 12 fatores .
Achei este pacote extremamente útil. Você pode definir vários ambientes, por exemplo, desenvolvimento, preparação, produção.
No caso do Android, as variáveis também estão disponíveis nas classes Java, gradle, AndroidManifest.xml etc. No caso do iOS, as variáveis também estão disponíveis nas classes Obj-C, Info.plist.
Você acabou de criar arquivos como
.env.development
.env.staging
.env.production
Você preenche esses arquivos com chave, valores como
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
e depois use:
import Config from 'react-native-config'
Config.API_URL // 'https://myapi.com'
Config.GOOGLE_MAPS_API_KEY // 'abcdefgh'
Se você deseja usar ambientes diferentes, basicamente define a variável ENVFILE como esta:
ENVFILE=.env.staging react-native run-android
ou para montar o aplicativo para produção (android no meu caso):
cd android && ENVFILE=.env.production ./gradlew assembleRelease
import {Platform} from 'react-native';
console.log(Platform);