Comment créer un fichier de constantes comme: clé - valeur dans ReactJs,
ACTION_INVALID = "This action is invalid!"
et de l'utiliser dans d'autres composants
errorMsg = myConstClass.ACTION_INVALID;
Je ne suis pas tout à fait sûr d'avoir compris votre question, mais si je le faisais, cela devrait être assez simple:
De ma compréhension, vous voulez simplement créer un fichier avec des constantes et l’utiliser dans un autre fichier.
fileWithConstants.js:
export const ACTION_INVALID = "This action is invalid!"
export const CONSTANT_NUMBER_1 = 'hello I am a constant';
export const CONSTANT_NUMBER_2 = 'hello I am also a constant';
fileThatUsesConstants.js:
import * as myConstClass from 'path/to/fileWithConstants';
const errorMsg = myConstClass.ACTION_INVALID;
Si vous utilisez react, vous devez avoir soit webpack, soit packager (pour react-native), donc babel doit pouvoir traduire votre utilisation de l’exportation et de l’importation en js plus anciens.
Vous pouvez simplement créer un objet pour vos constantes:
const myConstClass = {
ACTION_INVALID: "This action is invalid!"
}
Et puis l'utiliser.
Si vous regroupez, vous pouvez export
cet objet, puis import
pour chaque fichier de composant.
Développer réponse de Monad , pour les situations dans lesquelles vous ne souhaitez pas taper myConstClass
tout le temps:
fileWithConstants.js:
export const ACTION_INVALID = "This action is invalid!"
export const CONSTANT_NUMBER_1 = 'hello I am a constant';
export const CONSTANT_NUMBER_2 = 'hello I am also a constant';
fileThatUsesConstants.js:
import { ACTION_INVALID } from 'path/to/fileWithConstants';
const errorMsg = ACTION_INVALID;
(En outre, si le comportement de Monad vous convient mieux, je pense que la convention veut que "MyConstClass" commence par une lettre majuscule, car il s'agit d'une classe de code.)
Une façon de le faire (bien que pas si différent des autres réponses) est de créer un fichier nue constants.js et d’y ajouter vos constantes. Je l'utilise pour les configs
module.exports = Object.freeze({
ACTION_INVALID :'This action is invalid',
ACTION_VALID:'Some other action',
});
Ensuite, vous pouvez en avoir besoin n'importe où
import ConstantsList from './constants';
et utilise
console.log(ConstantsList.ACTION_INVALID)