【发布时间】:2020-12-04 04:18:15
【问题描述】:
您好,我是 react 初学者,我有以下代码
import { useCallback } from 'react';
import { useMutation } from '@apollo/client';
import { useCartContext } from '@magento/peregrine/lib/context/cart';
export const useWishlistAllItems = props => {
const { items,mutations } = props;
const { addSimpleWishListItemToCartMutation } = mutations;
const [{ cartId }] = useCartContext();
const [addWishlistItemToCart, { error, loading }] = useMutation(addSimpleWishListItemToCartMutation);
const handleAddAllItemsToCart = useCallback(async () => {
try {
items.map((item,index) => {
if (item.product.__typename !== 'ConfigurableProduct'){
const cartItem = {
data: {
quantity: 1,
sku: item.product.sku
}
};
addWishlistItemToCart({
variables: {
cartId,
cartItem
}
});
}
})
} catch {
return;
}
}, [addWishlistItemToCart, cartId, items]);
const saveWishList = useCallback(async () => {
try {
window.location.reload(false);
}catch {
return;
}
}, []);
return {
handleAddAllItemsToCart,
saveWishList,
hasError: !!error,
isLoading: loading
};
};
我已经正确处理了我的组件中返回的错误,但问题是我在返回到组件之前得到了如上的错误。我认为这是因为回调函数。请给我一个解决方案。
【问题讨论】:
标签: javascript reactjs error-handling callback