React Labs: View Transitions وActivity

يونيو 17, 2025

React Labs: View Transitions وActivity

المنشور اتكتب يوم 23 أبريل 2025 من Ricky Hanlon. في React Labs النهارده بيقدّموا ميزتين تجريبيّتين مودرن في حزمة react@experimental وreact‑dom@experimental:

  • View Transitions: ببساطة بتلف الـ UI جوا <ViewTransition> علشان تشغّل أنيميشنات باستخدام API جديد اسمه startViewTransition. ممكن تفعلها لما تستخدم startTransition أو useDeferredValue أو <Suspense>. والـ CSS ممكن يتحكم في شكل الحركة باستخدام الـ pseudo-selectors زي ::view-transition-old(*) و::view-transition-new(*).
  • Activity: الكومبوننت دي بتحافظ على حالة الجزء المخفي من الصفحة من غير ما يكرّر الـ render أو يضيع الستيت. الكود بيبقى كده: <Activity mode={isVisible ? 'visible' : 'hidden'}>. لو مخفي، بيفصل الـ effects لكن بيحتفظ بالستيت علشان لو المستخدم رجع تاني يبقى زي ما سيبه.

وكمان شغالين على شوية حاجات تانية:

  • مقاييس مباشرة في Performance Profiler.
  • المترجم بيدخل dependencies بتاعة useEffect أوتوماتيك.
  • Extension للمحرر (IDE) يعتمد على الكومبايلر للكشف الأذكى عن الأخطاء.
  • ref للـ Fragment علشان تجمع أكتر من عنصر DOM.
  • أنيميشن بالإيماءات (زي السحب للفتح).
  • API جديد للـ external stores باستخدام use(store).

مثال: View Transition بسيط

import { unstable_ViewTransition as ViewTransition } from 'react';

export default function App({ url }) {
  return (
    
      {url === '/' ?  : }
    
  );
}

مثال: سنّ الحالة باستخدام Activity

import { unstable_ViewTransition as ViewTransition, unstable_Activity as Activity } from 'react';

export default function App({ url }) {
  return (
    
      
        
      
      {url !== '/' && }
    
  );
}

الميزات دي متاحة دلوقتي في النسخة التجريبية، وممكن كل حاجة تتغير في الآخر حسب الآراء والاستجابة المجتمعية.

المدونة

شرح مفصل لكل هوك في React

يوليو 01, 2025

🎣 شرح React Hooks وبأمثلة عملية 🧠 useState بيعمل إيه: بيضيف حالة داخلية (state) جوا أي مكون شغال بوظيفة. مثال عملي: import React, { useSta...

استخدام useCallback في React: الفوائد، القيود، والممارسات المثالية

يوليو 31, 2025

Hook useCallback في React يُستخدم لإنشاء نسخة ثابتة من دالة (callback) بحيث لا يُعاد إنشاؤها إلا إذا تغيرت الـ dependencies المحددة. الهدف الأساسي م...

نظرة معمقة على Laravel Context: تسجيل وتحليل السياق البرمجي باحترافية

يوليو 20, 2025

في Laravel 12، تم تقديم Laravel Context كأداة قوية بتخلي تتبع الطلبات، تسجيل الأخطاء، وتحليل سلوك الوظائف الخلفية أسهل وأدق من أي وقت فات. وده بيحصل ع...

استكشف أقوى تقنيات Laravel الحديثة: Inertia.js، View Creators، وHLS خطوة بخطوة

يوليو 27, 2025

أدوات قوية تقدر تستخدمها لتطوير تطبيقات Laravel بشكل احترافي: Inertia.js v2، وView Creators، وحزمة Laravel HLS لبث الفيديوهات بأمان. ١. Inertia.j...

React Native 0.81: نقلة نوعية في كفاءة بيئة التطوير

يناير 27, 2026

مقدمة يُعد React Native من أكثر الأطر استخدامًا في تطوير تطبيقات الهواتف الذكية متعددة المنصات. ومع ذلك، ظل وقت بناء تطبيقات iOS أحد أكبر التحديا...

React Labs: View Transitions وActivity

يونيو 17, 2025

React Labs: View Transitions وActivity المنشور اتكتب يوم 23 أبريل 2025 من Ricky&nbsp;Hanlon. في React Labs النهارده بيقدّموا ميزتين تجريبيّتين مودرن...