#react-native #react-navigation #react-props
#react-native #реакция-навигация #react-props
Вопрос:
Для маршрутизации я использую react-navigation.
Есть две страницы :
- Домашняя страница (главная страница).
- Домашняя страница (на главной странице только все элементы в виде списка)
Нужно сделать так:
когда я нажимаю на элемент из списка на HomePageList
странице. Необходимо передать значение в состоянии на HomePage
страницу.
Допустим, я нажимаю на элемент 12 на HomePageList
странице. При переводе в состояние activeSlide
должно быть передано 12.
Там есть массив из 6 элементов. На странице — HomePage
. Ползунок с нумерацией страниц. Индекс объекта сохраняется в состоянии. В activeslide
значении.
Посетите HomePageList
все тот же 6 элемент.Только список и поиск.
Когда я нажимаю на любой элемент HomePageList
. Происходит _GoHome
.
_GoHome = async ( ) => {
this.props.navigation.navigate(HOMEPAGE);
};
Когда я прохожу через функцию другого item.index
в состоянии HomePage
.
Я попытался сделать это так:
создать своего рода константу ActiveSlide
в отдельном файле, который вы хотите сохранить item.index
.
Затем, HomePage
чтобы сделать это:
if (ActiveSlide !== null){
this.setState({
activeSlide: ActiveSlide
})
}else{
this.setState({
activeSlide: 0
})
}
Но по какой-то причине не работает, говорит:
Ошибка: ActiveSlide доступен только для чтения
Ответ №1:
С помощью react navigation вы можете передавать параметры в navigate()
В представлении, которое хочет передать параметр:
this.props.navigation.navigate(HOMEPAGE, { something: value })
В представлении, которое хочет получить параметр:
value = this.props.navigation.getParam('something')
Смотрите Документы здесь