আসলে, এটির সাথে যাওয়ার একাধিক উপায় রয়েছে।
আপনি আপনার প্রপসের অভ্যন্তরে জেএসএক্স ব্যবহার করতে চান
জেএসএক্সকে প্যারামিটারটি বিশ্লেষণের জন্য আপনি কেবল {use ব্যবহার করতে পারেন। প্রতিটি জেএসএক্স উপাদানগুলির জন্য একমাত্র সীমাবদ্ধতা একই: এটি কেবলমাত্র একটি মূল উপাদানকে ফেরত দিতে হবে।
myProp={<div><SomeComponent>Some String</div>}
এর জন্য সবচেয়ে ভাল পঠনযোগ্য উপায় হ'ল জাইএক্সএক্স উপাদানগুলি (স্ট্যান্ডার্ড রেন্ডার ফাংশনের মতো) ফিরিয়ে আনবে এমন একটি ফাংশন রেন্ডারমিপ্রপ তৈরি করা এবং তারপরে কেবল মাইপ্রপ = {this.renderMyProp ()}
আপনি কেবল স্ট্রিং হিসাবে এইচটিএমএল পাস করতে চান
ডিফল্টরূপে, জেএসএক্স আপনাকে স্ট্রিং মান থেকে কাঁচা এইচটিএমএল রেন্ডার করতে দেয় না। তবে এটি করার একটি উপায় রয়েছে:
myProp="<div>This is some html</div>"
তারপরে আপনার উপাদানগুলিতে আপনি এটির মতো ব্যবহার করতে পারেন:
<div dangerouslySetInnerHTML=myProp={{ __html: this.renderMyProp() }}></div>
সাবধান যে এই সমাধানটি ক্রস-সাইট স্ক্রিপ্টিং জালিয়াতির আক্রমণগুলিতে 'খুলতে' পারে। এছাড়াও সাবধান যে আপনি কেবল সাধারণ এইচটিএমএল, কোনও জেএসএক্স ট্যাগ বা উপাদান বা অন্যান্য অভিনব জিনিস রেন্ডার করতে পারবেন না।
অ্যারে উপায়
প্রতিক্রিয়া হিসাবে, আপনি জেএসএক্স উপাদানগুলির একটি অ্যারে পাস করতে পারেন। এর মানে:
myProp={["This is html", <span>Some other</span>, "and again some other"]}
আমি এই পদ্ধতির সুপারিশ করব না কারণ:
- এটি একটি সতর্কতা তৈরি করবে (কীগুলি হারিয়েছে)
- এটি পাঠযোগ্য নয়
- এটি আসলে জেএসএক্স উপায় নয়, এটি একটি নকশাকৃত ডিজাইনের চেয়ে বেশি হ্যাক।
বাচ্চাদের পথ
সম্পূর্ণতার জন্য এটি যুক্ত করা কিন্তু প্রতিক্রিয়া হিসাবে, আপনি সমস্ত উপাদানগুলি যেগুলি আপনার উপাদানগুলির 'অভ্যন্তরে' রয়েছে তা পেতে পারেন।
সুতরাং যদি আমি নিম্নলিখিত কোডটি গ্রহণ করি:
<SomeComponent>
<div>Some content</div>
<div>Some content</div>
</SomeComponent>
তারপরে দুটি ডিভস সামার কম্পোনেন্টে এটি.পড়গুলি.চাইল্ডার হিসাবে উপলব্ধ হবে এবং স্ট্যান্ডার্ড}} সিনট্যাক্সের সাথে রেন্ডার করা যেতে পারে।
আপনার সংস্থায় যাওয়ার জন্য আপনার কাছে কেবলমাত্র একটি HTML লিখিত সামগ্রী থাকলে এই সমাধানটি নির্ভুল হয় (কোনও পপিন উপাদান কল্পনা করুন যা পপিনের সামগ্রীটি কেবল শিশু হিসাবে গ্রহণ করে)।
তবে আপনার যদি একাধিক বিষয়বস্তু থাকে তবে আপনি শিশুদের ব্যবহার করতে পারবেন না (বা কমপক্ষে আপনাকে এখানে অন্য কোনও সমাধানের সাথে একত্রিত করতে হবে)