Mam dwa składniki (lista i szczegóły):Jak przejść do innego ekranu i wrócić do ekranu, skąd jest on obsługiwany za pomocą programu DrawerNavigator?
List.js:
export default class List extends React.Component {
render() {
const {navigate} = this.props.navigation;
return (
<View style={styles.container}>
<Text style={styles.headerText}>List of Contents</Text>
<Button onPress={()=> navigate('Detail')} title="Go to details"/>
</View>
)
}
}
Detail.js:
export default class Detail extends React.Component {
render() {
return (
<View>
<Text style={styles.headerText}>Details of the content</Text>
</View>
)
}
}
chciałbym mieć dwa ekrany (NowList i SoonList) które są w zasadzie tego samego typu listą, więc używam tego samego składnika List dla obu ekranów. Z każdego z tych ekranów chcę przejść do szczegółów elementu, który w tym przypadku ma ten sam typ układu, więc używam składnika szczegółów dla obu elementów listy.
Wreszcie, po uruchomieniu aplikacji chcę wyświetlić ekran NowList. Korzystając z szuflady, chciałbym przejść do ekranu SoonList.
Nie wiem, jak skonfigurować tę trasę. Ale tak skonfigurowałem teraz trasy:
const NowStack = StackNavigator({
NowList: {
screen: List,
navigationOptions: {
title: 'Now',
}
},
Detail: {
screen: Detail,
navigationOptions: {
title: 'Detail',
}
}
});
const SoonStack = StackNavigator({
SoonList: {
screen: List,
navigationOptions: {
title: 'Soon',
}
}
});
export const Drawer = DrawerNavigator({
Now: {
screen: NowStack,
},
Soon: {
screen: SoonStack,
}
});
Podczas nawigacji z trasy NowList do trasy szczegółowej. Na trasie szczegółów znajduje się przycisk "Wstecz", który po naciśnięciu przechodzi do listy NowLista.
Po przejściu do Wkrótce trasę i przejściu do Trasy szczegółowej przejdę do ekranu szczegółów. Ale gdy naciśniesz przycisk Wstecz w nagłówku nawigacji szczegółowej, zamiast nawigować z powrotem do ekranu SoonList, jestem nawigowany do ekranu TerazLista.
Myślę, że coś tu brakuje, albo mój układ trasy nie jest taki, jak powinien. Czy możesz mi pomóc skonfigurować trasy tak, aby móc korzystać z DrawerNavigator do nawigacji na różnych ekranach, a z tych ekranów przejść do innego ekranu i ponownie do ekranu z którego można nawigować?
Nie rozumiem koncepcji używania resetowania. Czy mógłbyś wyjaśnić "reset" używając mojego problemu jako przykładu? – Robin
Przykro mi, ale nadal nie miałem pojęcia tutaj. Jak skonfigurowana jest szuflada? – Robin
Nie próbowałem tego, ale z dokumentów musiałbyś przekazać 'onItemPress', który używa resetowania zamiast normalnej operacji nawigacyjnej. Myślę, że pierwsza opcja, którą zasugerowałem, jest prawdopodobnie łatwiejsza do wdrożenia. – Kraylog