Я хотел бы создать меню на основе двумерного массива: заголовок и имя значка.
Вот что я попробовал:
class Menu2 extends React.Component{
constructor(props) {
super(props);
this.state = { Items: [['Home','home'],['User','user'],['Messages','envelope'], ['Finances','wallet'], ['Meal','silverware-fork-knife']]}
}
render(){
<View style={styles.menu}>
{this.state.Items.map((Items,i) => {
return(
<TouchableOpacity style={[styles.menu_item,styles.menu_item]} onPress={() => {this.props.navigation.navigate(Items[i][0]);}}>
<FontAwesome name={Items[i][1]} size={40} color="#fff"/>
<Text style={styles.menu_text}>{Items[i][0]}</Text>
</TouchableOpacity>
)
})};
</View>
}
}
export default Menu2
Возвращенная ошибка: «Ошибка TypeError undefined не является объектом (вычисление« Items [i] [1] ') »
*» 1008 *
То, что я ожидал, это то, что "i" будет итерацией 0, 1, 2, 3, 4 (в моем случае 5 раз) в моем массиве, и поэтому Items [i] [0] = название и Items [i] [1] = имя иконки. Но я не мог заставить его работать так, как мне бы хотелось.
Есть идеи?