اذهب إلى المحتوى

السؤال

نشر

فكرت في وضع كل الثوابت التي أستخدامها على مستوى مشروع React.js في ملف واحد، بحيث أصل إليه من أي مكان. فكرت في عمل الملف بالشكل التالي:

// constants.js
REQUEST_SENT_SUCCESSFULLY = "We got your request."

وأستعمله بهذا الشكل:

// index.js

import constants from "./constants";
console.log(constants.REQUEST_SENT_SUCCESSFULLY);

ولكن لم أنجح في عمل هذا الأمر ، ولم أتمكن من إستخدام أي ثوابت في constants.

ما المطلوب لإنشاء ملف يحتوي على كل الثوابت في مشروع معين؟ 

Recommended Posts

  • 1
نشر

أنشئ الملف واكتب بداخله الثوابت:

export const CONSTANT1 = "VALUE1"
export const CONSTANT2 = true
export const CONSTANT3 = 3
export const CONSTANT4 = ["VALUE4", "etc"]
export const CONSTANT5 = {data: "VALUES", etc}

// etc...

غالباً أنت لم تقم بتصدير ثوابتك export، وكيف كتبت 

REQUEST_SENT_SUCCESSFULLY = "We got your request."

ولم تعرفها ؟ يجب تعريف المتحول بكلمة const للثوابت لا تنسى ذلك.

 

  • 1
نشر

ما ينقص ملفك هو تصدير المتغير الثابت من خلال تعليمة export لتستطيع استخدامه خارج ملفه الأصلي

export const REQUEST_SENT_SUCCESSFULLY = "We got your request."

ثم سيعمل

إن رغبت بتضمين قيمة واحدة يمكن استخدام named import

import {REQUEST_SENT_SUCCESSFULLY } from "./constants";

console.log(REQUEST_SENT_SUCCESSFULLY);

يمكنك أيضا تجميع المتغيرات الثابتة في كائن واحد وتصديره وحده فقط ثم الوصول لخصائصه 

  • نقوم ببناء الغرض من خلال freez لكي لا يتم تعديله
module.exports = Object.freeze({
  REQUEST_SENT_SUCCESSFULLY: "We got your request.",
});



import ConstantsList from './constants';
console.log(ConstantsList.REQUEST_SENT_SUCCESSFULLY)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...