React Native自定义对象取值异常:无法访问categoryName属性
React Native子组件获取category属性返回undefined的解决方案
你的问题出在React组件的参数处理上:
React函数组件的第一个参数是完整的props对象,不是你单独传递的某个属性。从你控制台的输出能看到,打印的category其实是{"category": {...}}——这个变量是包含所有传入属性的props,真正的分类对象藏在它的category属性里。
两种修复方法:
方法1:解构props(推荐)
直接在组件参数里解构出category属性:
function CategorySection({ category }){ console.log(category); console.log(category.categoryName); // 现在会输出"Ideas" }
方法2:通过props对象访问
如果不想解构,就通过props对象的category属性获取目标对象:
function CategorySection(props){ console.log(props.category); console.log(props.category.categoryName); }
之前你写category.categoryName返回undefined,是因为你把props对象当成了目标分类对象,实际上category(你的参数名)是props,它的categoryName属性根本不存在,真正的分类名称在props.category.categoryName里。
内容的提问来源于stack exchange,提问作者Andrew Moss
相关产品推荐
相关产品推荐

