2016-08-19 10 views
13

स्थिरांक की तरह फ़ाइल बनाने के लिए कैसे बना सकता हूँ: कुंजी - ReactJs में मूल्य,प्रतिक्रिया स्थिरांक फ़ाइल

ACTION_INVALID = "This action is invalid!" 

और उपयोग करने के लिए है कि अन्य घटकों

में
errorMsg = myConstClass.ACTION_INVALID; 
+0

एक में import Constants from '..path_to_constants' लगाने की जरूरत है वैश्विक स्थिरांक? क्या आप बंडल कर रहे हैं? –

+0

मैं सर्वर – TeodorKolev

उत्तर

18

आप बस अपनी स्थिरांक के लिए एक वस्तु बना सकते हैं :

const myConstClass = { 
    ACTION_INVALID: "This action is invalid!" 
} 

और फिर इसका उपयोग करें।

यदि आप बंडल कर रहे हैं, तो आप इस ऑब्जेक्ट को export और प्रत्येक घटक फ़ाइल के लिए import कर सकते हैं।

+0

सर्वर के लिए browserync का उपयोग नहीं करता, बंडलिंग का क्या अर्थ है? – TeodorKolev

21

मैं पूरी तरह यकीन है कि मैं अपने प्रश्न मिला नहीं कर रहा हूँ, लेकिन अगर मैं यह काफी आसान होना चाहिए:

मेरी समझ से तुम सिर्फ स्थिरांक साथ एक फ़ाइल बनाने और एक अन्य फ़ाइल में उपयोग करना चाहते हैं।

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; 

आप उपयोग कर रहे हैं प्रतिक्रिया या तो आप webpack या बंडल होना चाहिए (के लिए प्रतिक्रिया देशी) ताकि आप कोलाहल करना चाहिए था जो पुराने जेएस में निर्यात और आयात के आपके उपयोग का अनुवाद कर सकते हैं।

+0

निर्यात कॉन्स अमान्य है – TeodorKolev

+0

आपका क्या मतलब है? मुझे लगता है कि आप जेएस के पुराने संस्करणों का उपयोग करते हैं, उस मामले में निर्यात का प्रयास करें। निर्यात कॉन्स के बजाय ACTION_INVALID और उपयोग की आवश्यकता है ('पथ/से/फ़ाइल विथकंट्स')। आयात के बजाय ACTION_INVALID। –

+0

'' 'events.js: 160 फेंक एर; // अनचाहे 'त्रुटि' घटना ^ सिंटेक्स त्रुटि: डी: /constants.jsx: अप्रत्याशित टोकन (2:11) कक्षा कांस्टेंट्स React.Component { निर्यात const ACTION_INVALID = "यह क्रिया अमान्य है!" निर्यात कॉन्स CONSTANT_NUMBER_1 = 'हैलो मैं स्थिर हूं'; निर्यात कॉन्स CONSTANT_NUMBER_2 = 'हैलो मैं भी स्थिर हूं'; } '' – TeodorKolev

3

ऐसा करने का एक तरीका (हालांकि अन्य उत्तरों से इतना अलग नहीं) एक नंगे constants.js फ़ाइल बनाने और वहां अपने स्थिरांक जोड़ने के लिए है। मैं कॉन्फ़िगरेशन के लिए इसका उपयोग

module.exports = Object.freeze({ 
    ACTION_INVALID :'This action is invalid', 
    ACTION_VALID:'Some other action', 
}); 

तो आप इसे कहीं भी

import ConstantsList from './constants'; 

आवश्यकता होती है और

console.log(ConstantsList.ACTION_INVALID) 
2

का उपयोग Monad's answer विस्तार करते हुए, परिस्थितियों के लिए कर सकते हैं जहां सभी टाइप करने के लिए myConstClass नहीं करना चाहते समय:

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; 

(इसके अलावा, अगर इकाई की तरह आप के लिए बेहतर काम करता है, मेरा मानना ​​है कि सम्मेलन बड़े अक्षर से शुरू करने के लिए 'MyConstClass', यह एक तरह कार्य करे, तो बाद के लिए है कोड में कक्षा।)

0

यदि आप सबकुछ आयात नहीं करना चाहते हैं और आप वेब का उपयोग कर रहे हैं। आप एक फाइल बना सकते हैं, जिसका नाम आपके ऊपर है, लेकिन मैं इसे constants.js पर कॉल करूंगा।

//constants.js 
var MyConstants = { 
    apiUrl: "http://localhost/side-project/english/backend/" 
} 

अपने index.html आप ऊपर bundle.js

की मैं webpack

This guy here 
<script type="text/javascript" src="/src/js/constants.js"></script> 
<script type="text/javascript" src="/dist/js/bundle.js"></script> 

और उपयोग कर रहा हूँ अब constants.js कॉल कर सकते हैं में, आप अभ्यस्त हर एक फ़ाइल

संबंधित मुद्दे