React native 向映射添加特定元素
我从数据库中获取了一个贴图。我想以不同的样式添加到此数组图标中的每个项目…这是我在渲染中的贴图React native 向映射添加特定元素,react-native,React Native,我从数据库中获取了一个贴图。我想以不同的样式添加到此数组图标中的每个项目…这是我在渲染中的贴图 { this.state.categories.results.map((项,键)=>( {item.name} )) } 我想为每个项目添加一个特定的图标。name因此我尝试在另一个地图中添加这些带有样式的图标 const a=[ { id:1, 图标:“汽车”, 样式:{宽度:50,字体大小:40,高度:60,颜色:{f56217} }, { id:2, 图标:“主页”, 样式:{宽度:50,字
{
this.state.categories.results.map((项,键)=>(
{item.name}
))
}
我想为每个项目添加一个特定的图标。name
因此我尝试在另一个地图中添加这些带有样式的图标
const a=[
{
id:1,
图标:“汽车”,
样式:{宽度:50,字体大小:40,高度:60,颜色:{f56217}
},
{
id:2,
图标:“主页”,
样式:{宽度:50,字体大小:40,高度:60,颜色:{2c3e50}
},
{
id:3,
图标:“电视”,
样式:{宽度:50,字体大小:40,高度:60,颜色:“黑色”}
},
]
比我在渲染中添加的
<View>
{
a.map(i => (
<FontAwesome name={i.icon} style={i.style} />
))
}
<View>
{
this.state.categories.results.map((item, key) => (
<View key={key}>
<Text>{item.name}</Text>
</View>
))
}
</View>
</View>
{
a、 地图(i=>(
))
}
{
this.state.categories.results.map((项,键)=>(
{item.name}
))
}
那么,有没有办法在不生成另一个映射的情况下向该映射添加特定元素?
最简短的方法是什么?您可以根据item.name定义几种类型,例如:
const CATEGORIES_TYPES = {
car: {
style: { width: 50, fontSize: 40, height: 60, color: '#f56217' }
},
home: {
style: { width: 50, fontSize: 40, height: 60, color: '#2c3e50' }
},
tv: {
icon: 'tv',
style: { width: 50, fontSize: 40, height: 60, color: 'black' }
}
};
然后在渲染中:
this.state.categories.results.map((item, key) => (
<View key={key}>
{CATEGORIES_TYPES[item.name] && (
<FontAwesome name={item.icon} style={CATEGORIES_TYPES[item.name].style} />
)}
<Text>{item.name}</Text>
</View>
));
this.state.categories.results.map((项,键)=>(
{CATEGORIES_TYPES[item.name]&&(
)}
{item.name}
));