我试图从数组中呈现一系列图标,icons
,但当我试图返回{icons.map((icon, index) =>(<Icon key = {index} icon={icon}/>))}
时,我得到&;typeError: undefined不是一个对象(评估'icons.map')&;
下面是我正在使用的代码:
const BottomTabs = ({ icons }) => {
const [activeTab, setActiveTab] = useState('Home')
const Icon = ({icon}) => (
<TouchableOpacity onPress = {() => setActiveTab(icon.name)}>
<Image source = {icon.inactive} style= {styles.icon}/>
</TouchableOpacity>
)
return (
<View>
{ icons.map((icon, index) =>(
<Icon key = {index} icon={icon}/>
))}
</View>
)
}
你知道是什么问题吗?
编辑:这就是我的数组通过组件传递的方式:
<BottomTabs icons = {bottomTabIcons}/>
下面是数组中对象的样子的一个例子:
const bottomTabIcons = [
{
name: 'Home',
active: require('../../assets/home-active.png'),
inactive: require('../../assets/home.png')
}
]
我通过我的BottomTabs
组件传递数组不正确吗?
您没有将icons
传递给BottomTabs
组件。检查调用<BottomTabs icons={icons}>