From aa9d689c76256b3f29249ee5f460b7ae0e19a3a1 Mon Sep 17 00:00:00 2001 From: jacy <18049821889@163.com> Date: Tue, 28 Jul 2026 00:10:47 +0800 Subject: [PATCH] fix(partner): guard null region on proxy order preview Avoid crash when province/city is not selected yet. Co-authored-by: Cursor --- apps/h5-partner/src/pages/ProxyOrderPage.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/h5-partner/src/pages/ProxyOrderPage.tsx b/apps/h5-partner/src/pages/ProxyOrderPage.tsx index 6ea9ed3..fc32b5c 100644 --- a/apps/h5-partner/src/pages/ProxyOrderPage.tsx +++ b/apps/h5-partner/src/pages/ProxyOrderPage.tsx @@ -83,8 +83,8 @@ export default function ProxyOrderPage() { quantity, deliveryMode, storeId: deliveryMode === 'ON_SITE_PICKUP' ? storeId || undefined : undefined, - receiverCity: deliveryMode === 'ADDRESS' ? region.city || undefined : undefined, - receiverDistrict: deliveryMode === 'ADDRESS' ? region.district || undefined : undefined, + receiverCity: deliveryMode === 'ADDRESS' ? region?.city || undefined : undefined, + receiverDistrict: deliveryMode === 'ADDRESS' ? region?.district || undefined : undefined, }), silent: true, }) @@ -93,7 +93,7 @@ export default function ProxyOrderPage() { .finally(() => setPreviewLoading(false)); }, 300); return () => clearTimeout(timer); - }, [productId, quantity, deliveryMode, storeId, region.city, region.district]); + }, [productId, quantity, deliveryMode, storeId, region?.city, region?.district]); function startCooldown(setter: (n: number | ((s: number) => number)) => void) { setter(60); @@ -153,7 +153,7 @@ export default function ProxyOrderPage() { if (deliveryMode === 'ON_SITE_PICKUP') { if (!storeId) return '请选择提货门店'; } else { - if (!region?.province || !region.city || !region.district) return '请选择省市区'; + if (!region?.province || !region?.city || !region?.district) return '请选择省市区'; if (!addressDetail.trim()) return '请填写详细地址'; if (!autoReceive) return '配送到址须勾选同意自动收货'; } @@ -193,9 +193,9 @@ export default function ProxyOrderPage() { autoReceive: deliveryMode === 'ADDRESS' ? true : undefined, storeId: deliveryMode === 'ON_SITE_PICKUP' ? storeId : undefined, receiverName: receiverName.trim() || undefined, - province: deliveryMode === 'ADDRESS' ? region.province : undefined, - city: deliveryMode === 'ADDRESS' ? region.city : undefined, - district: deliveryMode === 'ADDRESS' ? region.district : undefined, + province: deliveryMode === 'ADDRESS' ? region?.province : undefined, + city: deliveryMode === 'ADDRESS' ? region?.city : undefined, + district: deliveryMode === 'ADDRESS' ? region?.district : undefined, addressDetail: deliveryMode === 'ADDRESS' ? addressDetail.trim() : undefined, productId, quantity,