ব্রাউজারে প্রতিক্রিয়াটির রানটাইম সংস্করণটি জানার কোনও উপায় আছে কি?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
ব্রাউজারে প্রতিক্রিয়াটির রানটাইম সংস্করণটি জানার কোনও উপায় আছে কি?
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.values().next()["value"]["version"]
উত্তর:
React.version আপনি যা খুঁজছেন তা
যদিও এটি অজস্রচিতিযুক্ত (যতদূর আমি জানি) তাই এটি কোনও স্থিতিশীল বৈশিষ্ট্য নাও হতে পারে (অর্থাত্ এটি অসম্ভব হলেও এটি অদৃশ্য হয়ে যায় বা ভবিষ্যতে মুক্তি পেতে পারে)।
Reactএকটি স্ক্রিপ্ট হিসাবে আমদানি সঙ্গে উদাহরণ
const REACT_VERSION = React.version;
ReactDOM.render(
<div>React version: {REACT_VERSION}</div>,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
Reactএকটি মডিউল হিসাবে আমদানি সঙ্গে উদাহরণ
import React from 'react';
console.log(React.version);
স্পষ্টতই, আপনি যদি Reactমডিউল হিসাবে আমদানি করেন তবে এটি বিশ্বব্যাপী সুযোগে থাকবে না। উপরের কোডটি আপনার বাকী অ্যাপ্লিকেশন, যেমন ওয়েবপ্যাক ব্যবহার করে বান্ডিল করার উদ্দেশ্যে । এটি কোনও ব্রাউজারের কনসোলে ব্যবহৃত হয় না (এটি খালি ইনপুট ব্যবহার করছে) virt
এই দ্বিতীয় পদ্ধতির প্রস্তাবিত একটি। বেশিরভাগ ওয়েবসাইট এটি ব্যবহার করবে। ক্রিয়েট-রিএ্যাক্ট -অ্যাপটি এটি করে (এটি দৃশ্যের পিছনে ওয়েবপ্যাক ব্যবহার করছে )। এই ক্ষেত্রে, Reactএনক্যাপসুলেটেড হয় এবং সাধারণত বান্ডিলের বাইরে একেবারেই অ্যাক্সেসযোগ্য হয় না (যেমন ব্রাউজারের কনসোলটিতে)।
versionসম্পত্তি আনতে হবে ।
Uncaught ReferenceError: require is not definedএবংUncaught ReferenceError: React is not defined
কমান্ড লাইন থেকে:
npm view react version
npm view react-native version
Chrome ডিভাইস সরঞ্জামগুলি সমতুল্য করুন এবং require('React').versionকনসোলে চালান ।
এটি ফেসবুকের মতো ওয়েবসাইটেও কাজ করে যা তারা কী সংস্করণ ব্যবহার করছে তা নির্ধারণ করতে।
ReferenceError: require is not defined
রিএ্যাক্ট ডিভলটুলগুলি ইনস্টল করার মাধ্যমে আপনি এটি ব্রাউজার কনসোল থেকে চালাতে পারেন:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.forEach(r => console.log(`${r.rendererPackageName}: ${r.version}`))
যা এরকম কিছু তৈরি করে:
react-dom: 16.12.0
এটি নির্দিষ্ট নয় যে কোনও বিশ্বব্যাপী ইসমাস্ক্রিপ্ট ভেরিয়েবলগুলি রফতানি করা হয়েছে এবং এইচটিএমএল / সিএসএস অগত্যা প্রতিক্রিয়া নির্দেশ করে না। সুতরাং .js দেখুন।
পদ্ধতি 1: ECMAScript এ দেখুন:
সংস্করণ নম্বরটি দুটি মডিউল প্রতিক্রিয়া-ডোম এবং প্রতিক্রিয়া দ্বারা রফতানি করা হয় তবে সেই নামগুলি প্রায়শই বান্ডিলিং দ্বারা সরিয়ে ফেলা হয় এবং এক্সিকিউশন কনটেক্সটের ভিতরে লুকানো সংস্করণ যা অ্যাক্সেস করা যায় না। একটি চৌকস ব্রেক পয়েন্টটি সরাসরি মানটি প্রকাশ করতে পারে, বা আপনি ECMAScript সন্ধান করতে পারেন:
পদ্ধতি 2: একটি ডোম ব্রেকপয়েন্ট ব্যবহার করুন:
Inspect Element
Elementsফলকটি প্রদর্শন করেBreak On… - subtree modifications
Sourcesফলকটি প্রদর্শন করেCall Stackসাব-ফলকটি পরীক্ষা করুনrenderএন্ট্রি হওয়া উচিত , এটিReactDOM.renderrender, অর্থাত্। কোড যে রেন্ডার আহ্বানreact-domমডিউল রপ্তানির বস্তুর
version: "15.6.2", অর্থাত। সমস্ত মান দ্বারা রফতানিreact-domসংস্করণটি প্রতিক্রিয়া দেব সরঞ্জামগুলিতেও ইনজেক্ট করা হয়েছে, তবে যতদূর আমি জানি না কোথাও প্রদর্শিত হয় নি।
কনসোলটি খুলুন, তারপরে চালান window.React.version।
এটি 0.12.2 থেকে 16.2.0 এ আপগ্রেড করার সময় সাফারি এবং ক্রোমে আমার পক্ষে কাজ করেছে।
Index.js ফাইলে কেবল অ্যাপের উপাদানটিকে "React.version" দিয়ে প্রতিস্থাপন করুন । যেমন
ReactDOM.render(React.version, document.getElementById('root'));
আমি প্রতিক্রিয়া v16.8.1 দিয়ে এটি পরীক্ষা করেছি
ক্রিয়েট-রিএ্যাক্ট-অ্যাপ দিয়ে তৈরি করা একটি অ্যাপের জন্য আমি সংস্করণটি পরিচালনা করতে সক্ষম হয়েছি:
অ্যাপ্লিকেশনটি উত্স মানচিত্র ছাড়াই মোতায়েন করা হয়েছিল।
ইনস্টল না থাকলে প্রথমে ডিভ সরঞ্জামগুলি ইনস্টল করুন এবং তারপরে ব্রাউজার কনসোলে কোডের নীচে রান ব্যবহার করুন:
__REACT_DEVTOOLS_GLOBAL_HOOK__.renderers.get(1).version