محمود سعداوي2 نشر 3 نوفمبر 2023 أرسل تقرير نشر 3 نوفمبر 2023 السلام عليكم. أواجه مشكل في حساب اللايكات حيث يقع تفعيل الدالة إلا من المرة الثانية const likeImage = async (id) => { if (!user) { navigate("/login"); return; } await axios .put(`/api/images/like/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }) .then((res) => { setLike(res.data) }) .catch((err) => setError(err.response.data.msg)); }; ************************** const unLikeImage = async(id) => { if (!user) { navigate("/login"); return; }; await axios .put(`/api/images/unlike/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }) .then((res) => { setLike(res.data) }) .catch((err) => setError(err.response.data.msg)); }; **************************************** <div className="menu-like"> {/* {error && <Alert error={error} />} */} <div className="like" onClick={() => likeImage(imageId)}> <i className="fa-regular fa-thumbs-up"></i> {likes.length === 0 ? "" : likes.length} </div> <div className="dislike" onClick={() => unLikeImage(imageId)}> <i className="fa-regular fa-thumbs-down"></i> </div> </div> أما بالنسبة لعدد الإعجابات {likes.length === 0 ? "" : likes.length} فلا يظهر إلا بعد تحديث الصفحة. شكرا لكم. 1 اقتباس
0 Mustafa Suleiman نشر 3 نوفمبر 2023 أرسل تقرير نشر 3 نوفمبر 2023 أرفق مجلد المشروع لتفقد المشكلة، وتأكد من أن الدوال likeImage و unLikeImage تعمل بشكل صحيح وأنها تقوم بإرسال الطلبات بشكل صحيح من خلال إضافة console.log للتحقق من تنفيذ الدوال كالتالي: const likeImage = async (id) => { if (!user) { navigate("/login"); return; } try { const response = await axios.put(`/api/images/like/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }); console.log("Response from likeImage:", response.data); // سيتم تسجيل الاستجابة في وحدة التحكم setLike(response.data); } catch (err) { setError(err.response.data.msg); } }; const unLikeImage = async (id) => { if (!user) { navigate("/login"); return; } try { const response = await axios.put(`/api/images/unlike/${id}`, like, { headers: { "Content-Type": "application/json", "x-auth-token": user.data.token, }, }); console.log("Response from unLikeImage:", response.data); // سيتم تسجيل الاستجابة في وحدة التحكم setLike(response.data); } catch (err) { setError(err.response.data.msg); } }; 1 اقتباس
السؤال
محمود سعداوي2
السلام عليكم.
أواجه مشكل في حساب اللايكات حيث يقع تفعيل الدالة إلا من المرة الثانية
أما بالنسبة لعدد الإعجابات
{likes.length === 0 ? "" : likes.length}
فلا يظهر إلا بعد تحديث الصفحة.
شكرا لكم.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.