existe-t-il un moyen dans React Natif que je puisse définir sur une variable globale toutes les chaînes que je vais utiliser comme dans Android Développement il existe une chaîne. XML où vous pouvez mettre toutes vos chaînes.
Qu'est-ce que j'ai fait est de créer un module globals ...
// Fichier: Globals.js
module.exports = {
STORE_KEY: 'a56z0fzrNpl^2',
BASE_URL: 'http://someurl.com',
COLOR: {
ORANGE: '#C50',
DARKBLUE: '#0F3274',
LIGHTBLUE: '#6EA8DA',
DARKGRAY: '#999',
},
};
Ensuite, je demande juste au sommet ...
const GLOBAL = require('../Globals');
Et y accéder comme si ...
GLOBAL.COLOR.ORANGE
Cela semble être une réponse plutôt populaire et utile, alors j’ai pensé que je devrais le mettre à jour avec la syntaxe la plus récente. Ce qui précède fonctionne toujours dans les systèmes de modules CommonJS, mais à présent, il est tout aussi probable que vous rencontriez ES6 et import
modules plutôt que require
.
// Fichier: Globals.js
export default {
STORE_KEY: 'a56z0fzrNpl^2',
BASE_URL: 'http://someurl.com',
COLOR: {
ORANGE: '#C50',
DARKBLUE: '#0F3274',
LIGHTBLUE: '#6EA8DA',
DARKGRAY: '#999',
},
};
// utiliser...
import GLOBALS from '../Globals'; // the variable name is arbitrary since it's exported as default
// et y accéder de la même manière qu'auparavant
GLOBALS.COLOR.ORANGE
global
in react native est comme la fenêtre du développement Web.
// declare a global varible
global.primaryColor = '***';
//now you can use this variable anywhere
console.log(primaryColor);
J'ai aussi fait un module comme dans réponse de Chris Geirman , mais je n'ai pas pu le référencer avec l'exigence. Au lieu de cela je l'ai eu à travailler avec import * as GLOBAL from '../Globals';
Si vous souhaitez basculer entre les langues en fonction de la localisation de la plate-forme.
récupère node_module via npm
npm i react-native-localization --save
Définir les variables dans la classe:
// Localisation.js
let LocalizedStrings = require ('react-native-localization');
let strings = new LocalizedStrings ({
en: {
loginTitle: "Login",
},
de: {
loginTitle: "Anmelden",
}
})
Lorsque vous avez besoin des chaînes:
var STRINGS = require ('./Localization');
<Text>{STRINGS.loginTitle}</Text>