Ahmed Yehia2 نشر 21 يناير 2022 أرسل تقرير نشر 21 يناير 2022 لماذا يطبع USER left اكثر من مرا عند مغادره الuser اقتباس
0 Wael Aljamal نشر 21 يناير 2022 أرسل تقرير نشر 21 يناير 2022 أرجو إرفاق الشيفرة البرمجية التي تسبب المشكلة لنحاول فهمها بشكل أفضل. 1 اقتباس
1 شرف الدين حفني نشر 22 يناير 2022 أرسل تقرير نشر 22 يناير 2022 المشكلة لديك في أنك تقوم بتعريف السوكيت في بداية الكائن وبالتالي عندما يحدث أي عملية Re-render يتم تعريف الكائن مرة أخرى, لحل تلك المشكلة يمكنك تخزين السوكيت في state ومن ثم تعريف خطاف useEffect نقوم بداخله بتعريف السوكيت وفي نهاية الأمر يكون الشفرة البرمجية لديك على الهيئة التالية const [socket, setSocket] = useState() useEffect(()=>{ if(!socket) setSocket(io('أكتب هنا رابط خادم السوكيت لديك')) },[]) وفي الاجزاء التي تستخدم فيها السوكيت مثل الكائن app نقوم أولًا بالتأكد من أن السوكيت تم تعريفه عبر الشفرة التالية if(socket){ socket.on('اسم الحدث لديك') ////تعريف باقي الأحداث } 1 اقتباس
السؤال
Ahmed Yehia2
لماذا يطبع USER left اكثر من مرا عند مغادره الuser
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.