Вы сообщаете мне, что какой-либо компонент, выполняющий рендеринг, OrdersList не получает навигационные реквизиты. Если этот компонент является экраном, к нему следует перейти, чтобы получить реквизит для навигации (что означает, что он указан в любом используемом вами навигаторе create *).
Поскольку у меня нет полного доступа к вашему коду,Я могу предложить вам использовать декоратор Navigation в OrdersList, чтобы вам больше не приходилось передавать реквизиты навигации от родителя.
const OrdersList_ = props => {
return (
<View style={styles.container}>
<FlatList
data={props.data}
renderItem={({item}) => {
return (
<TouchableOpacity
onPress={() =>
props.navigation.navigate(props.screenName, {
...
service: item.service,
date: item.date,
...
})
}
>
<Text>
{item.service}
</Text>
</TouchableOpacity>
);
}}
/>
</View>
);
};
const OrdersList = withNavigation(OrdersList)
<OrdersList
data={this.state.orders}
extraData={this.state}
screenName="OrderHomeDetails"
// navigate={ // when i do it i got error he can't find item and thats usual
// (//no need to pass navigation props anymore
// {
// service: item.service,
// time: item.time,
// username: item.username,
// buildingNumber: item.buildingNumber,
// date: item.date,
// description: item.description,
// images: item.images,
// status: item.status,
// snapshotKey: item.snapshotKey,
// })
// }
/>
Ссылка: https://reactnavigation.org/docs/en/with-navigation.html