Я на самом деле использую реагирующую навигацию https://reactnavigation.org/, у меня есть компонент с методом:
class Sing extends Component {
singASong = () => {
console.log('hello i am singing');
}
}
этот компонент будет отображаться с реагировать-навигация и пользовательский заголовок , вопрос: как вызвать метод singASong
из пользовательского заголовка?:
const routeStackNavigation = {
SingingMode: {
screen: Sing,
navigationOptions: ({ navigation }) => ({
header: (
<CustomNav onPressAction={() =>{
// how to call the method singASong from here ?
}
}
/>
),
}),
},
};
ОБНОВЛЕНИЕ
Я устанавливаю и проверяю значение следующим образом:
this.props.navigation.setParams({'onPress': 'akumen' });
setTimeout(() => {
console.log(this.props.navigation.getParam('onPress')); // akumen
}, 2000);
И я проверяю значения с помощью:
onPress={() =>{
console.log('NAVIGATION',navigation);
console.log('ON PRESS',navigation.getParam('onPress'));
console.log('PARAMS',navigation.state.params);
return navigation.getParam('onPress');
}
}
, но получаю неопределенное значение
ДЛЯ НАВИГАЦИИ СТЕКА
Ниже я делюсь пи c с моим примером из реального мира, это была навигация по стеку, и я раньше не замечал, но параметр, который он только что установил под правым стеком, так что возьмите это за мотив для изучения: