الاستخدام مع React
ما فيه حزمة React خاصة حاليًا، لكن المكتبة تشتغل مع React بطريقتين بدون أي اعتمادات إضافية.
حزمة
@fzhub/icons على npm قريبًا. الطرق في هذي الصفحة تعتمد على الملفات المستضافة.الطريقة الأولى: الوسم fz-icon
أضف السكربت في ملف HTML الرئيسي لمشروعك:
<script src="https://fzhub.tech/libs/fz-icons/0.1.0/fz-icons.js"></script>بعدها استخدم الوسم في مكوناتك:
export function CoffeeBadge() {
return (
<span>
<fz-icon name="dallah" size="20"></fz-icon>
قهوة
</span>
);
}إذا تستخدم TypeScript، بتحتاج تعريف الوسم في JSX بنفسك.
الطريقة الثانية: مكوّن خاص فيك
انسخ ملف المكتبة وملف الأنواع داخل مشروعك:
mkdir -p src/vendor/fz-icons
curl -o src/vendor/fz-icons/index.js https://fzhub.tech/libs/fz-icons/0.1.0/index.js
curl -o src/vendor/fz-icons/index.d.ts https://fzhub.tech/libs/fz-icons/0.1.0/index.d.tsثم أنشئ المكوّن:
import { toSvg, type IconName } from './vendor/fz-icons/index.js';
interface FzIconProps {
name: IconName;
size?: number;
strokeWidth?: number;
title?: string;
}
const wrapper = { display: 'inline-flex', lineHeight: 0 };
export function FzIcon({ name, size = 24, strokeWidth = 2, title }: FzIconProps) {
const svg = { __html: toSvg(name, { size, strokeWidth, title }) };
return <span style={wrapper} dangerouslySetInnerHTML={svg} />;
}واستخدمه كذا:
<FzIcon name="palm" size={32} title="نخلة" />الدالة toSvg ترجع نص فقط وما تحتاج المتصفح، فتشتغل أيضًا مع العرض من جهة الخادم.
| الطريقة | المميزات |
|---|---|
الوسم fz-icon |
أسرع طريقة، وما تحتاج ملفات داخل مشروعك |
| مكوّن خاص | الأيقونات داخل مشروعك، ويتحقق TypeScript من أسمائها |
استخدم أسماء الأيقونات من قائمة الأسماء. الاسم غير الموجود ما يعرض شيء.
هل الصفحة مفيدة؟