React中Props传递对象后无法获取full_background,值为undefined
解决CartItem组件无法获取full_background属性的问题
先确认循环里的
item对象本身包含full_background字段:
在map循环里加一句console.log('当前item数据:', item),查看输出里有没有full_background,同时检查字段名拼写是否和其他组件一致(比如会不会是驼峰式的fullBackground),还要确认数据来源(接口/本地数据)里每个item都有这个字段,没有遗漏。打印CartItem组件的全部props排查:
在CartItem组件里第一行加console.log('CartItem接收的props:', props),看看full_background是不是在props列表里。如果其他属性都在唯独这个没有,说明要么item里本身就没这个字段,要么传递过程中被过滤了。检查数据处理环节:
看看在获取item数据后,有没有做过过滤、转换操作,是不是不小心把full_background字段删掉了。比如有没有用pick或者omit这类方法处理过item对象。临时单独传递字段测试:
暂时绕过扩展运算符,单独传递这个字段试试:<CartItem key={item.id} {...item} full_background={item.full_background} removeItem={removeItem} />如果这样能拿到,说明扩展运算符传递时可能有隐藏的字段覆盖或者忽略问题(比如item里的
full_background是不可枚举属性?不过这种情况很少见)。
内容的提问来源于stack exchange,提问作者Vosid
相关产品推荐
相关产品推荐

