Я использую функциональный подход с react-navigation
v5.0.0, и у меня есть стековый навигатор, который содержит:
App.js
<Stack.Screen
name="Profil"
component={Profile}
options={{
headerStyle: {
backgroundColor: '#2270b9'
},
headerTintColor: '#fff',
headerTitleStyle: {
color: 'white'
},
headerRight: () => (
<View style={{ flex: 1, flexDirection: 'row' }}>
<Ionicons
style={{ color: 'white', marginRight: 15, marginTop: 5 }}
size={32}
onPress={() => { _sendMessage(...) }} // <--- problem is here
name="ios-mail"
backgroundColor="#CCC"
/>
</View>
)
}}
/>
Компонент профиля выглядит примерно так:
Profile.js
export default function Profile({ route, navigation }) {
const { profile } = route.params;
return (
<SafeAreaView style={styles.container}>
<View style={styles.container}>
<ScrollView contentContainerStyle={styles.contentContainer}>
[...]
Теперь проблема в том, что Profile
инициализируется с объектом полезной нагрузки («профиль»), когда открывается профиль:
Search.js / Visitors.js
navigation.navigate('Profil', { profile });
И проблема в том, что кнопка отправки, которая добавляется в App.js
нужен объект профиля, который передается в Profile.js
в качестве параметра маршрута, но он недоступен в App.js
.
Как я могу таким образом создать кнопку заголовка в компоненте Profile
, поэтому Я могу получить доступ к объекту профиля?