闲社服务运行正常AI智能体自动化平台
c

购物车管理

技能标识:cart-management

React cart state management: duplicate prevention, localStorage persistence, CartContext patterns. Use when building or fixing shopping carts, product lists, or cart-related UI.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

购物车管理

购物车管理技能

React购物车状态模式:重复预防、持久化、上下文设计。

重复预防

  • - 在CartContext中跟踪产品ID(独立状态或从cartItems派生)
  • 在添加前检查productIdsInCart.includes(item.id)
  • 将逻辑集中在上下文中,而非ProductCard或子组件中

持久化(localStorage)

  • - 挂载时从localStorage.getItem(cart)初始化购物车状态
  • 每次添加/移除时持久化:localStorage.setItem(cart, JSON.stringify(cartItems))
  • 如果使用productIdsInCart则同步:localStorage.setItem(cart_ids, JSON.stringify(ids))
  • 防止跨会话重复(刷新、新标签页)

CartContext模式

tsx
const addToCart = (item: CartItem) => {
if (!productIdsInCart.includes(item.id)) {
setCartItems(prev => [...prev, item]);
setProductIdsInCart(prev => [...prev, item.id]);
localStorage.setItem(cart, JSON.stringify([...cartItems, item]));
}
};

反模式

  • - 不要在ProductCard挂载时的useEffect中添加购物车(会导致重复)
  • 不要在多个组件中重复逻辑——使用上下文
  • 添加后端验证作为数据完整性的后备方案

数量更新

对于相同产品的数量:使用cartItems.map()更新item.quantity,不要创建重复条目。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 cart-management-1776419963 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 cart-management-1776419963 技能

通过命令行安装

skillhub install cart-management-1776419963

下载

⬇ 下载 cart-management v1.0.0(免费)

文件大小: 1.33 KB | 发布时间: 2026-4-17 20:18

v1.0.0 最新 2026-4-17 20:18
Initial release: provides robust patterns for React cart state management.

- Prevents duplicate cart entries using product ID tracking in CartContext.
- Persists cart state and product IDs in localStorage for session durability.
- Centralizes add/remove logic within CartContext for maintainability.
- Includes clear anti-patterns and recommendations for quantity management.
- Designed for reuse in shopping carts, product lists, or cart-related UIs.
返回顶部