Прежде всего, ошибка возникает из-за того, что у вас нет реквизита navigation
в вашем классе lingua
. Это может быть объяснено тем фактом, что lingua
не является сценой в stackNavigator
(или любым видом навигатора из реагирующей навигации).
Есть 2 решения:
1) Передайте навигационные реквизиты с экрана в стеке до этого компонента.
2) Вы можете использовать компонент высшего порядка withNavigation
из react-navigation
, чтобы добавить его к lingua
Пример:
import {withNavigation} from 'react-navigation'
class tmp extends React.Component {
render() {
const {navigation} = this.props; //with the withNavigation, you have access to the navigation even though it is not a screen
return <View />
}
}
export default withNavigation(tmp);
Лучший способ изменить заголовок, чем обновлять навигационные опции, как вы делаете, это перейти к Registra
, напрямую отправив желаемый заголовок:
// In lingua
this.props.navigation.navigate('Registra', {title: 'You custom title'})
Для этого вам не нужно вызывать метод в Registra для обновления заголовка
Надеюсь, это поможет!