Я хочу сделать загрузочный экран и установить его в значение true или false, если значение не определено / не определено. Моя ошибка: «undefined не является объектом (оценивает navigation.state.params.changeLoadingState)». Вывод console.log(JSON.stringify(navigation.state.params))
равен {"isLoadingState":false,"usernameValue":"MyUsername"}
Вот мой код:
Установка состояния, а также установка параметров
componentDidMount = () => {
const changeLoadingState = (isLoadingState) => this.setState({isLoadingState});
const isLoadingState = this.state.isLoading;
this.props.navigation.setParams({
isLoadingState : false,
changeLoadingState
});
}
NavigationOptions
const { params = {} } = navigation.state;
if (typeof params.usernameValue !== "undefined") {
navigation.state.params.changeLoadingState(false);
} else {
navigation.state.params.changeLoadingState(true);
}
isLoading имеет значение false в this.state=
внутри конструктора. Ошибка находится в строке кода внутри оператора else.
undefined is not an object(evaluating navigation.state.params.changeLoadingState)
Но если я удаляю оператор else, оператор if не работает, он ничего не меняет.
Кто-нибудь знает, как я могу это исправить? Я не понимаю.
Помощь приветствуется, спасибо за ваше время