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

السؤال

نشر

السلام عليكم.

في الشيفرة لماذا ترجع قيمة product إلى undefined

SingleProduct

import React from 'react'
import { useSelector } from 'react-redux'
// import { useParams } from 'react-router-dom'
import './singleProduct.css'

function SingleProduct() {

    const item = useSelector(state => state.products.SingleProduct)
    console.log(item)
  return (
    <div>
      SingleProduct
    </div>
  )
}

productSlice

initialState: {
        singleProduct: [],
    },
****************************
****************************
singleProduct(state,action){
            try {
                const singleItem = storeData.filter(item => item.id === action.payload)
                state.singleProduct = singleItem
            } catch (error) {
                
            }
        }
******************************
******************************
export const { singleProduct } = productSlice.actions

ملاحظة: للتوجه لهذه الصفحة يقع المرور بصفحة ProductCart

هذه شيفرة ProductCart للتوضيح

import React from 'react'
import { useDispatch } from 'react-redux'
import { Link, useParams } from 'react-router-dom'
import { singleProduct } from '../../features/slices/productSlice'

function ProductCard({id,img,name,text,price,color}) {

  const {type} = useParams()

  const dispatch = useDispatch()
  
  return (
    <Link 
      to={`/filteredProducts/${type}/${id}`}
      className = 'product-link' 
    >

      <div 
        className='product-card-container'
        onClick = {() => dispatch(singleProduct(id))} 
      >

        <div className="prod-img">
          <img src={img} alt={id}/>
        </div>
        <div className="prod-name">
          <h4>{name}</h4>
        </div>
        <div className="prod-text">
          <p>{text}</p>
        </div>
        <div className="prod-infos">
          <h3>{price}$</h3>
          <div className="colors">
              {
                  color.map((item,key) => (
                      <div className="prod-card-color" key={key} style={{backgroundColor:`${item}`}}></div>
                  ))
              }
          </div>
        </div>
      </div>
    </Link>
  )
}

export default ProductCard

شكرا لكم.

Recommended Posts

  • 0
نشر
بتاريخ 31 دقائق مضت قال محمود سعداوي:

تفضل ملفات الsrc

src.zip 9.48 kB · 1 تنزيل

االكود الخاص بك :

const item = useSelector((state) => state.products.SingleProduct);

الكود الصحيح :

const item = useSelector((state) => state.products.singleProduct);

حيث انك كتبت singleProduct بحرف S كبير، بينما الاسم الصحي بالـ s الصغير.

  • 0
نشر
بتاريخ 28 دقائق مضت قال عمر قره محمد:

هل يمكنك مشاركة ملفات المشروع

تفضل ملفات الsrc

src.zip

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...