درباره این ابزار
ابزار تبدیل SVG به کامپوننت JSX مارکآپ خام SVG را به یک کامپوننت تمیز React تبدیل میکند، به همان شیوهای که SVGR انجام میدهد، اما کاملاً در مرورگر شما و بدون هیچ بارگذاری. یک آیکون exportشده از یک ابزار طراحی را بچسبانید و کامپوننتی بگیرید که میتوانید import و استایلدهی کنید. SVG را با DOMParser تجزیه میکند و اگر مارکآپ نامعتبر باشد یک خطای روشن گزارش میدهد.
هر ویژگی SVG دارای خط تیره یا namespaceدار به نام React خود camelCase میشود — stroke-width به strokeWidth، fill-rule به fillRule، clip-path به clipPath، stop-color به stopColor، xlink:href به xlinkHref، xmlns:xlink به xmlnsXlink — در حالی که ویژگیهای data-* و aria-* همانطور که هستند رها میشوند. رشتههای style درونخطی به شیء style تبدیل میشوند، عناصر خالی مانند path و circle خودبسته میشوند، و propها روی ریشه <svg {...props}> اسپرد میشوند تا کامپوننت قابل پیکربندی بماند. کلیدهای تغییر اختیاری به شما اجازه میدهند مقادیر ثابت fill و stroke را با currentColor جایگزین کنید (تا آیکون رنگ متن را به ارث ببرد)، ویژگیهای width و height را حذف کنید تا به اندازه محفظهاش مقیاس بگیرد، و کامپوننت را با forwardRef بپیچید تا گره زیرین <svg> را در دسترس قرار دهد.
خروجی JavaScript یا TypeScript را انتخاب کنید: نوع TypeScript، propها را بهعنوان React.SVGProps<SVGSVGElement> تایپ میکند و با فعال بودن forwardRef از forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>> استفاده میکند. کامپوننت بهعنوان یک arrow function صادرشده تولید میشود (export const Icon = (props) => (...))، با نام و تورفتگی انتخابی شما، آماده چسباندن در یک ماژول آیکون.