Мне хотелось бы знать, как я могу использовать React Navigation для свойства FlatList, где имя Stack.Screen происходит из файла .json
.
И с этим, когда пользователь нажимает на этот элемент, они переходят на другую страницу приложения.
Данные
{
Data: [
{
"key": "0",
"label": "Test",
"goTo": "Test", <--- Here goes the name of Stack.Screen from routes.js
}
]
}
Структура FlatList
function Item({ label, goTo }) {
return (
<Ripple rippleCentered onPressIn={goTo}> // (react-native-material-ripple)
<Option>
<Icon name={onIcon} size={28} color={onColor} /> // (react-native-vector-icons)
<OptionLabel color={onColor}>{label}</OptionLabel>
</Option>
</Ripple>
);
}
Я уже пытался использовать navigation.navigate({goTo})
свойство onPressIn
от Ripple, но появляется ReferenceError: Не удается найти переменную: navigation
Конечный экспортируемый компонент
export default class Menu extends Component {
render() {
return (
<Container color={this.props.color}>
<FlatList
data={Data}
showsVerticalScrollIndicator={false}
keyExtractor={item => item.key}
numColumns={5}
columnWrapperStyle={Styles.Row}
renderItem={({ item }) =>
<Item
goTo={item.goTo}
label={item.label}
/>
}
/>
</Container>
);
}
}