x
2 سال پیش توسط x مطرح شد
0 پاسخ

مشکل ارسال چند درخواست

سلام خسته نباشید .
من به یه مشکل برخوردم وقتی وارد یه صفحه از آیتم هایی که برای خرید هستن میشم دو مرتبه درخواست رو به سرور میفرسته و تو صفحه ای که مربوط به اون آیتم هستش دو تا آیتم مشابه میاره آیا راهی هست که بتونم درخواست رو فقط یبار بفرسته؟?؟

این کد صفحه آیتم خرید...

const productPage = () => {
    const { id } = useParams()
    const [product, setProduct] = useState([])

    const { auth, detailProduct } = useSelector(state => state)
    const dispatch = useDispatch()

    useEffect(() => {
        dispatch(getProduct({detailProduct, id, auth}))

        if(detailProduct.length > 0){
            const newArr = detailProduct.filter(product => product._id === id)
            setProduct(newArr)
        }
    },[detailProduct, dispatch, id, auth])

    return (
        <div className="product">

           <div>
            {
                product.map(index,item => (
                    <productCard key={index} product={item} />
                ))
            }</div>
        </div>
    )
}

export default productPage

کد ریداکس دریافت آیتم

export const getProduct = ({detailProduct, id, auth, token}) => async (dispatch) => {
    if(detailProduct.every(procuct => procuct._id !== id)){
        try {
            const res = await getDataAPI(`procuct/${id}`, token)
            dispatch({ type: PRODUCT_TYPES.GET_PRODUCT, payload: res.data.procuct })
        } catch (err) {
            dispatch({
                type: GLOBALTYPES.ALERT,
                payload: {error: err.response.data.msg}
            })
        }
    }
}

بک اندو با postman تست زدم درسته فقط یبار میفرسته.


ثبت پرسش جدید

به همدیگه کمک کنیم

به x کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام