Проверьте, был ли установлен объект параметров состояния навигации - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь выполнить некоторую проверку, чтобы определить, был ли установлен объект params при переходе на мой GetPromoScreen, но он не работает.Вот мой пример кода:

HomeScreen (переход к GetPromoScreen)

this.props.navigation.navigate('GetPromoScreen', { promo: true })

GetPromoScreen (проверка объекта params)

if(this.props.navigation.state.params.promo != undefined){
    this.setState({ promo: true })
} else {
    this.setState({ promo: false })
}

У меня есть диалоговое окно с предупреждением HomeScreen, где, когда пользователь нажимает кнопку, он запускает функцию, в которой я устанавливаю параметры promo.Но если пользователь закрывает диалоговое окно с предупреждением и сразу же вводит GetPromoScreen с помощью кнопки меню, параметры promo не будут установлены, и когда это произойдет, появится сообщение об ошибке:

Ошибка типа: undefined не является объектом (оценивается как this.props.navigation.state.params.promo)

Мой код проверки выше не работает.Есть идеи?

...