اذهب إلى المحتوى

عمر قره محمد

الأعضاء
  • المساهمات

    4096
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    40

كل منشورات العضو عمر قره محمد

  1. يمكنك تعديل الكود الخاص بعرض المنتجات للشكل التالي : { data.map(product => checked.length === 0 ? ( <Product key = {product.id} id = {product.id} title = {product.title} img = {product.img} price = {product.price} /> ) : checked.includes(product.category) ? ( <Product key = {product.id} id = {product.id} title = {product.title} img = {product.img} price = {product.price} /> ) : [] ) } بحيث يعيد كل المنتجات عندما تكون المصفوفة checked فارغة ولكن إذا لم تكن فارغة فإنه يتأكد من انها تحتوي على الفئة الخاصة بالمنتج.
  2. ليس لدي خبرة كافية في فلاتر ولكن الرسالة تخبرك بأنه لم يستطع العثور على الوظيفة id(). إذا بإمكانك العودة إلى المكان الذي اضفت فيه الـ id() والتأكد بأنك استدعيتها بشكل مطابق للتوثيق الرسمي لـ firebase
  3. تستطيع الوصول إلى البيانات المرسلة من طرف العميل من خلال الـ req.body. وهذا في حال كنت تستخدم express. ولكن يجب ان يكون نوع الطلب يقبل البيانات ويجب ان تستخدم body-parser او ان تستخدم اخر اصدار من express.
  4. ربما المشكلة في كون الـ console.log(productFav) داخل الوظيفة handleLike جرب وضعها خارج الوظيفة وجربة مرة ثانية. في حال بقيت المشكلة قم بمشاركة ملفات المشروع.
  5. هذه الاجابة مبنية على انكي تستخدمين react-router-dom. لإضافة رابط يجب ان تحضري الـ link من الـ react-router-dom كالتالي : import { Link } from "react-router-dom"; ثم تضيفين الرابط الخاص بصفحة about مثلاً كالتالي : <Link to="/about">About</Link>
  6. في موقع أكاديمية حسوب نقوم بمساعدة المبرمجين على تعلم لغات البرمجة ومساعدتهم في اصلاح الاخطاء التي ربما يقعون فيها. فإذا كان لديك كود وتريد منا الاطلاع عليه او انك تعاني من مشكلة في كتابة الكود فرجاءً قم بمشاركة المشكلة أو الكود الخاص بك. وإن كنت تريد البدئ في تعلم البرمجة وبناء الكود بنفسك فيمكنك البدئ من هنا : وإذا كنت تبحث عن مبرمجين لتنفيذ المشروع الخاص بك فيمكنك العثور على مبرمجين في موقع مستقل من هنا، وانا متوفر على مستقل كذلك وهذا حسابي.
  7. يمكن الاطلاع على المقالة التالي التي تشرح العملية : وكذلك قد يفيد الاطلاع على المراجع التالية : فيديو شرح رفع تطبيق React.js على منصة Heroku :
  8. يمكنك تعلم البرمجة بشكل مجاني عن طريق اليوتيوب حيث هنالك العديد من الكورسات المجانية. وكذلك يمكنك الاستفادة من موارد أكاديمية حسوب مثل موسوعة حسوب. وكذلك يمكنك الاطلاع على الكتب المقدمة من حسوب ومقالات البرمجة المقدمة من حسوب. أما بالنسبة للدورات المقدمة من حاسوب فلا اعتقد أنه يمكن الحصول عليها بشكل مجاني ويمكنك معرفة المزيد عبر التحدث إلى مركز المساعدة من هنا.
  9. حل المشكلة هو استخدام vpn مثل protonvpn، حيث يبدو ان الموقع لا يدعم الموقع الذي توجد فيه. وهذه المشكلة شائعة في سوريا و اليمن وغيرها من البلدان. وهنالك بعض شركات النت التي تقدم حلول مباشرة لهذه المشكلة قم بالسؤال عنها إذا أردت حل دائم لهذه المشكلة.
  10. في سؤالك كنت تقول ان المشكلة في تحديد العنصر الذي تريده : واعتقد انني قد اخبرتك بأن الحل الاسهل لمشكلتك هو ان تقوم بإنشاء state مختلفة لكل عنصر وظهرت لديك مشكلة ثانية وهي انك تريد حساب عدد الاعجابات واخبرتك انه يمكنك فعل ذلك بإنشاء state مختلفة لذلك.
  11. عدل الوظيفة handleClick في الملف app.js إلى الشكل التالي : const handleClick = (id) => { let findProd = data.find(item => item.id === id) // التعديل حدث هنا console.log(findProd); // console.log(selectedProduct); setSelectedProduct(findProd.id) setToggleLike(!toggleLike) }
  12. هي يمكنك مشاركة ملفات المشروع حتى استطيع الاطلاع على المشكلة بشكل افضل.
  13. اعتقد ان المشروع الخاص بك لم يكتمل بعد، حيث ان الوضع (نهاري وليلي) يذهب عند إعادة تحميل الصفحة وعليك اعادة تعيينه. عند اضافة ملاحظة جديدة عليك اعادة تحميل الصفحة او تغيير الفلتر من all إلى active وبالعكس حتى يعمل. الفلتر Complated لا يعمل عندما لا تملك اي مهمات مكتملة، حيث تظهر كل المهمات الغير مكتملة في هذه الحالة وعندما تكون كل المهمات مكتملة لا يظهر اي شيء. عندما تكون كل العناصر مكتملة : عندما لا يكون هنالك اي عنصر مكتمل : اتمنى ان تصلح هذه المشاكل وتقوم برفعل الموقع على استضافة حقيقية مثل heroku
  14. المشكلة Reached heap limit Allocation failed - JavaScript heap out of memory تعني ان الذاكرة المخصصة ل node غير كافية للقيام بالعملية. جرب تنزيل نسخة احدث من node لأنه هنالك بعض العقبات في موضوع الذاكرة في النسخ القديمة. في حال لم يجدي ذلك نفعاً فتأكد من توفر رام "ذاكرة عشوائي" كافية للمشروع الخاص بك، فإن كان ليس هنالك مساحة كافية في الذاكرة العشوائية فيجب عليك زيادة الذاكرة العشوائي بتركيب رامات اضافية للحاسوب الخاص بك أو إغلاق كل التطبيقات التي تستخدم الرام "الذاكرة العشوائية" حتى تتوفر مساحة كافية للمشروع الخاص بك وقد يساعدك في ذلك استخدام برامج الـ ram cleaner.
  15. Person1 الأولى بالحرف الكبير بينما الثانية بالحرف الصغير person1
  16. المشكلة انك عرفت المتغير person1 مرتين في كل من السطر 20 و 11.
  17. لقد اطلعت على المشروع الخاص بك وهو جيد، وكذلك يبدو انه متوافق مع اغلب الشاشات. اظن ان التعديل الذي سيكون مناسب هو ان تضيف القابلية لكتابة الارقام باستخدام لوحة المفاتيح و كذلك زر الجمع و الانتر وزر الحذف وسيكون تدريب جيد على كيفية التعامل مع الاحداث الخاصة بلوحة المفاتيح.
  18. إذا كنت تريدين التخصص بالذكاء الصنعي فأنصحك ان تدرسي هذا التخصص مباشرةً وليس اي شيء غيره، ولكن اذا لم تستطيعي فعل ذلك فيمكنك اختيار اي تخصص يحتوي على اكبر قدر من الشبه بالذكاء الصنعي ولفعل ذلك عليك ان تتعرفي على المواضيع التي يناقشها الذكاء الصنعي وتقارنيها مع مواضعي الاختصاص الذي تفكرين فيه. ومن هذه المواضيع : استخراج البيانات والتنقيب عنها - Data Mining. الرياضيات المتقدِّمة - Advanced Mathematics. التعلُّم الآلي - Machine Learning. التطبيقات الذكية - Smart Applications. علم الأعصاب المحوسب - Computational Neurosciences. تحليل البيانات - Data Analysis. هندسة الخوارزميات - Algorithm Engineering. وكذلك انصحك بالاطلاع على سلسلة المقالات الخاصة بالذكاء الصنعي على حسوب ويمكنك البدء من هنا :
  19. هنالك العديد من الطرق للتعامل مع هذه المشكلة ولكن بشكل بسيط يمكنك اضافة state إضافية للقيام بهذه الوظيفة وتقوم بإضافة 1 عند النقر على like و -1 عند النقر على dislike
  20. يبدو ان المشكلة انك استخدمت state واحد من النوع isLike لكل العناصر وبالتالي كل العناصر اصبح مربوطة بالـ state نفسه. ولحل المشكلة قم بعمل state مخصص للـ isLike لكل عنصر على حدى، وذلك بنقل الاكواد : const [isLike,setIsLike] = useState(false) const toggleLikeBtn = () =>{ setIsLike(!isLike) } إلى داخل الـ CartProducts.js كالتالي : import React,{useState} from 'react' function CartProduct({id,price,src,title,detail}) { const [isLike,setIsLike] = useState(false) const toggleLikeBtn = () =>{ setIsLike(!isLike) } return ( <div className="card"> <div className='product-price'>{price} DT</div> <img src={src} className="card-img-top" alt="..."/> <div className="card-body"> <h5 className="card-title">{title}</h5> <p className="card-text">{detail}</p> <div className='cart-btns'> <div className='toggle-like'> <button type="button" className="btn btn-outline-danger" onClick={toggleLikeBtn}> {isLike ? "Dislike" : "Like"} </button> </div> <button type="button" className="btn btn-outline-primary">Add To Cart</button> </div> <div className='rating'> <i className="fa-solid fa-star"></i> <i className="fa-solid fa-star"></i> <i className="fa-solid fa-star"></i> <i className="fa-solid fa-star"></i> <i className="fa-solid fa-star"></i> </div> </div> </div> ) } export default CartProduct
  21. تستطيع انشاء السيرفر backend وقاعدة البيانات و نظام التحقق و الوصول في firebase، وانت تتحدث هنا عن تطبيق شبيه بـ YouTube وهذا يعني فيديوهات كبيرة الحجم وبالتالي ستحتاج استخدام Cloud Storage المقدمة من firebase حتى تخزن هذه الفيديوهات. وهذه الاشياء كلها هي عبارة عن ادوات تسهل عليك بناء التطبيق الخاص بك ولكن لا تستطيع بناء التطبيق بالكامل باستخدام firebase ولذلك ستحتاج أن تتعلم بيئة عمل لبناء هذه التطبيقات و لتستخدم هذه الميزات التي تقدمها firebase. اي ان firebase تستطيع ان تعمل كبديل عن الـ backend لتطيقك ولكنها لا تستطيع العمل كبديل عن الـ frontend.
  22. نعم بالتأكيد يمكنك فعل ذلك باستخدام Firebase Authentication التي تقدمها Firebase. ويمكنك الاطلاع على التوثيق الرسمي لـ Firebase Authentication من هنا
  23. هل يمكنك مشاركة ملفات المشروع حتى استطيع الاطلاع على المشكلة.
  24. لقد اشرت لك في الرد الأول إلى توثيق موسوعة حسوب حول الاستيراد التصدير. ولكن باختصار، فإنه هنالك نوعين من التصدير وهما الـ export default و الـ export بدون default. فإذا كان التصدير باستخدام الـ export default تقوم بالاستيراد بدون المعقوفات وإذا كان باستخدام الـ export فقط عندها تقوم باستخدام المعقوفات. والـ export default تصدر متغير واحد فقط بينما الـ export تستطيع تصدير عدد غير محدود من المتغيرات. // إذا صدرت المتغير بالشكل export default example // تستورده بالشكل import example from "./example" // إذا صدرت المتغير بالشكل export example1; export example2; export example3; // تستورده بالشكل import {example1 , example2 , example3} from "./example" // وكذلك تستطيع تصديرالنوعين معاً export default example export example1; // والاستيراد يكون import example,{example1} from "./example"
×
×
  • أضف...