আপডেট 2016-05-27
রিঅ্যাক্ট ভি 15 হিসাবে, এসভিজি ( উত্স ) এর জন্য বর্তমান ব্রাউজার সমর্থন সহ 100% প্যারিটির সাথে রিঅ্যাক্টে এসভিজির জন্য সমর্থন (কাছে??) 100% সমতা রয়েছে । আপনার জেএসএক্সকে সামঞ্জস্যপূর্ণ করতে আপনাকে কিছু সিনট্যাক্স রূপান্তর প্রয়োগ করতে হবে, যেমন আপনাকে এইচটিএমএল ( class
→ className
, style="color: purple"
→ style={{color: 'purple'}}
) এর জন্য ইতিমধ্যে করতে হবে । কোনো namespaced (কোলোন চিহ্ন দ্বারা বিভাজিত) অ্যাট্রিবিউট, যেমন জন্য xlink:href
, অপসারণ :
এবং অ্যাট্রিবিউট, যেমন দ্বিতীয় ভাগে পুঁজিতে xlinkHref
। এখানে একটি SVG একটি উদাহরণ <defs>
, <use>
এবং ইনলাইন শৈলী:
function SvgWithXlink (props) {
return (
<svg
width="100%"
height="100%"
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
>
<style>
{ `.classA { fill:${props.fill} }` }
</style>
<defs>
<g id="Port">
<circle style={{fill:'inherit'}} r="10"/>
</g>
</defs>
<text y="15">black</text>
<use x="70" y="10" xlinkHref="#Port" />
<text y="35">{ props.fill }</text>
<use x="70" y="30" xlinkHref="#Port" className="classA"/>
<text y="55">blue</text>
<use x="0" y="50" xlinkHref="#Port" style={{fill:'blue'}}/>
</svg>
);
}
কোডিং ডেমো কাজ করছে
সুনির্দিষ্ট সমর্থনের বিষয়ে আরও তথ্যের জন্য ডক্সের সমর্থিত এসভিজি বৈশিষ্ট্যগুলির তালিকা পরীক্ষা করুন । এবং এখানে (বর্তমানে বন্ধ) গিটহাব ইস্যুটি যা নামস্পেস এসভিজি বৈশিষ্ট্যের জন্য সমর্থনকে ট্র্যাক করে support
পূর্ববর্তী উত্তর
আপনি dangerouslySetInnerHTML
কেবল নেমস্পেসের বৈশিষ্ট্য বাদ দিয়ে কোনও সাধারণ এসভিজি এম্বেড করতে পারেন । উদাহরণস্বরূপ, এটি কাজ করে:
render: function() {
return (
<svg viewBox="0 0 120 120">
<circle cx="60" cy="60" r="50"/>
</svg>
);
}
কোন মুহুর্তে আপনি প্রপস যুক্ত করতে fill
বা কনফিগার করার জন্য দরকারী অন্য যে কোনও বিষয় সম্পর্কে ভাবতে পারেন ।
<svg id="Layer_1">
(বা আরও ভাল, আইডি ছাড়াই) পরিবর্তন করার মতো সহজ হতে পারে । : সম্পাদনা: এখানে একটি উদাহরণ jsbin.com/nifemuwi/2/edit?js,output