Я пытаюсь передать несколько параметров между навигатором вкладок. Ниже представлена структура моей программы. полужирным шрифтом выделены маршруты.
Приложение (навигатор вкладок): {Главное (стек) и Фильтр (экран)}
Main (Stack Navigator): {Home (экран) и MediaDetails (экран)}
У меня есть кнопка на экране, связанная с фильтром, который имеет функцию onPress (). Я передаю несколько параметров (но давайте рассмотрим параметр to только ради этого вопроса).
this.props.navigation.navigate('Home', {
to: this.state.to,
}
Теперь на экране, связанном с Домой, я читаю параметр внутри состояния следующим образом:
state = {
to: this.props.route.params.to
}
Внутри App.js я установил начальное значение на как "2020" следующим образом:
<Stack.Screen
name="Home"
component={HomeScreen}
initialParams={{
to: '2020'
}}
/>
Начальное значение действительно установлено на 2020. Я нажимаю кнопку. Допустим, я устанавливаю на на 1900. Непосредственно перед выполнением this.props.navigation.navigate я console.log (this.state.to) значение, и оно действительно обновляется до 1900. Однако, когда экран изменится на Дом, значение вернется к 2020 (наблюдается через console.log).
Может ли кто-нибудь указать причину этого жуткого поведения? Я много часов безуспешно пытался отладить это. React Navigation 5 тоже довольно новая, поэтому ничего похожего в сети найти не удалось. Любая помощь будет оценена. Спасибо, что дочитали до конца.
Изменить: проблема решена, и весь код удален!