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}
));