عن المشروع

توفر react-window مكونات React لعرض مجموعات بيانات كبيرة مع تجنب تكلفة الأداء الناتجة عن إنشاء عناصر لكل عنصر في وقت واحد. تقدم مكونين رئيسيين: List للبيانات ذات الصفوف الكثيرة، وGrid للبيانات ذات الصفوف والأعمدة الكثيرة. يتطلب مكون List rowComponent وrowCount وrowHeight وrowProps. يمكن تحديد ارتفاعات الصفوف بالبكسل أو النسب المئوية أو دوال تعتمد على الفهرس وخصائص الخلية، أو ذاكرة تخزين مؤقتة للارتفاعات الديناميكية من useDynamicRowHeight. تشير الوثائق إلى أن الارتفاعات الديناميكية أقل كفاءة من الأحجام المحددة مسبقًا. تشمل الميزات الاختيارية عرض overscan، ومفاتيح الصفوف المخصصة، واستدعاءات تغيير الحجم والنطاق المرئي، وارتفاع افتراضي لعرض الخادم، وفئات CSS وأنماط مخصصة، وتجاوز العنصر الجذر، وواجهة برمجية مرجعية أمرية للتمرير والوصول إلى DOM. يتطلب مكون Grid cellComponent وcellProps وcolumnCount وcolumnWidth وrowCount وrowHeight. يمكن أن تكون أحجام الأعمدة والصفوف قيمًا بالبكسل أو النسب المئوية أو دوال، ولكن على عكس صفوف List، يجب أن تكون أحجام خلايا Grid قابلة للتحديد دون عرض. يدعم Grid أيضًا overscan في كلا الاتجاهين، ومفاتيح الصفوف والأعمدة المخصصة، والنص الاتجاهي، والأبعاد الافتراضية لعرض الخادم، واستدعاءات تغيير الحجم والخلايا المعروضة، وتراكبات أو عناصر فرعية لتلميحات الأدوات، ومراجع Grid أمرية. يتم تثبيت الحزمة من npm باستخدام "npm install react-window"، وتتضمن تعريفات TypeScript في التوزيع المنشور. الوثائق متاحة على react-window.vercel.app، مع وثائق منفصلة للإصدار 1.x. يصف ملف README الاستخدام في مشاريع مثل React DevTools ومتصفح Replay، لكنه لا يقدم ادعاءات محددة حول معايير الأداء.