import React, { Component, PropTypes } from 'react';
এটি বলে:
নামের অধীনে থেকে ডিফল্ট রফতানি আমদানি করুন'react'React এবং আমদানি নামে রপ্তানির Componentএবং PropTypesএকই নামের অধীনে।
এটি দুটি সাধারণ বাক্য গঠনকে সংযুক্ত করে যা আপনি সম্ভবত দেখেছেন
import React from 'react';
import { Component, PropTypes } from 'react';
প্রথমটি ডিফল্ট রফতানি আমদানি ও নামকরণের জন্য ব্যবহৃত হচ্ছে, দ্বিতীয়টি নির্দিষ্ট নামযুক্ত রফতানি আমদানি করার জন্য।
একটি সাধারণ নিয়ম হিসাবে, বেশিরভাগ মডিউলগুলি হয় একটি একক, ডিফল্ট রফতানি বা নামযুক্ত রফতানির একটি তালিকা সরবরাহ করবে। কোনও মডিউলের ক্ষেত্রে উভয়ই ডিফল্ট রফতানি সরবরাহ করা কিছুটা কম স্বাভাবিক এবং নামযুক্ত রফতানি সরবরাহতবে, যেখানে এমন একটি বৈশিষ্ট্য রয়েছে যা সর্বাধিক আমদানি করা হয়, তেমনি অতিরিক্ত উপ-বৈশিষ্ট্যগুলিও এটির ক্ষেত্রে প্রথমে ডিফল্ট হিসাবে রফতানি করার একটি বৈধ নকশা এবং বাকী নামগুলি রফতানি হিসাবে থাকে। এটি এমন ক্ষেত্রে আপনি উল্লিখিত importসিনট্যাক্সটি ব্যবহার করবেন।
অন্য উত্তরগুলি কোথাও ভুল এবং বিভ্রান্তির মধ্যে রয়েছে, সম্ভবত এই প্রশ্নটির সময় এমডিএন নথিগুলি ভুল এবং বিভ্রান্তিকর ছিল। এমডিএন উদাহরণ দেখিয়েছে
import name from "module-name";
এবং বলেছিলেন name"" সেই বস্তুর নাম যা আমদানিকৃত মানগুলি গ্রহণ করবে। " তবে এটি বিভ্রান্তিকর এবং ভুল; প্রথম সব, শুধুমাত্র আছে এক আমদানি মূল্য রয়েছে, যা "গৃহীত" হবে (কেন কেবল "অর্পণ করা", বা "উল্লেখ করার জন্য ব্যবহৃত হবে না") name, এবং এই ক্ষেত্রে আমদানি মানটি মডিউল থেকে ডিফল্ট রফতানি হয় ।
এটি ব্যাখ্যা করার আরেকটি উপায় হ'ল উপরের আমদানিটি হুবহু অভিন্ন note
import { default as name } from "module-name";
এবং ওপির উদাহরণটি হুবহু মিলে যায়
import { default as React, Component, PropTypes } from 'react';
এমডিএন ডকুমেন্টেশন উদাহরণটি প্রদর্শন করতে গিয়েছিল
import MyModule, {foo, bar} from "my-module.js";
এবং দাবি করেছে যে এটির অর্থ
একটি সম্পূর্ণ মডিউল এর বিষয়বস্তু আমদানি করুন, কিছু স্পষ্টভাবে নামকরণ সহ। এটি সেন্সর myModule(sic), fooএবং barবর্তমান সুযোগে into নোট করুন fooএবং myModule.fooহিসাবে একই, একইbar এবংmyModule.bar
এমডিএন এখানে কী বলেছে, এবং অন্য এমডিএন কী ভুল এমডিএন ডকুমেন্টেশনের উপর ভিত্তি করে দাবি করে, তা একেবারেই ভুল, এবং এটি অনুমানের পূর্ববর্তী সংস্করণের উপর ভিত্তি করে হতে পারে। এটি আসলে যা করে তা হ'ল
ডিফল্ট মডিউল রফতানি এবং কিছু স্পষ্টভাবে নামযুক্ত রফতানি আমদানি করুন। এই টিপে MyModule, fooএবং barবর্তমান সুযোগ মধ্যে। রপ্তানি নাম fooএবং barহয় না মাধ্যমে অ্যাক্সেসযোগ্যMyModule , যা ডিফল্ট রফতানি, সমস্ত রফতানিতে কিছু ছাতা নয়।
(ডিফল্ট মডিউল এক্সপোর্টটি export defaultসিনট্যাক্সের সাথে রফতানি করা মান , যা হতে পারে export {foo as default}।)
এমডিএন ডকুমেন্টেশন লেখকরা নিম্নলিখিত ফর্মটি নিয়ে বিভ্রান্ত হয়ে থাকতে পারেন:
import * as MyModule from 'my-module';
এটি সমস্ত রফতানি আমদানি করে my-moduleএবং নাম হিসাবে এগুলি অ্যাক্সেসযোগ্য করে তোলে MyModule.name। ডিফল্ট রফতানি হিসাবে অ্যাক্সেসযোগ্য MyModule.default, যেহেতু ডিফল্ট রফতানি নাম সহ অন্য নামের রফতানি ছাড়া আর কিছুই নয় default। এই সিনট্যাক্সে, নামমাত্র রফতানীর কেবলমাত্র একটি উপসেট আমদানির কোনও উপায় নেই, যদিও নামযুক্ত রফতানিগুলির সাথে এক সাথে যদি একটি থাকে তবে ডিফল্ট রফতানি আমদানি করতে পারে
import myModuleDefault, * as myModule from 'my-module';