Привет. Я пытаюсь перейти к следующему компоненту с помощью функции navigate. Я использую react-navigation для навигации между несколькими компонентами.
Предположим, что у меня есть компонент index.android.js и DashboardScreen.js. Я пытаюсь перейти к компоненту DashboardScreen.js из компонента индекса.
Он перемещается, но компонент индекса всегда сохраняется в стеке компонентов. когда я нажимаю назад, он открывает index.android.js, которого не должно быть. Кто-нибудь знает, как управлять этим в react-native. В Android для этого работает finish().
navigate("DashboardScreen");
Когда я перемещаюсь от SplashScreen до EnableNotification, тогда SplashScreen следует уничтожить, если я перемещаюсь с EnableNotification на CreateMessage, тогда EnableNotification должен быть уничтожен, и если я перехожу от CreateMessage to DashboardScreen, то CreateMessage следует уничтожить. На данный момент ни один компонент не уничтожается.
index.android.js
class SplashScreen extends Component {
render() {
if (__DEV__) {
console.disableYellowBox = true;
}
const { navigate } = this.props.navigation;
AsyncStorage.getItem("@ProductTour:key").then(value => {
console.log(value);
if (value) {
navigate("DashboardScreen");
}
});
return (
....
);
}
}
const App = StackNavigator(
{
Splash: {
screen: SplashScreen,
navigationOptions: {
header: {
visible: false
}
}
},
EnableNotification: {
screen: EnableNotificationScreen,
navigationOptions: {
header: {
visible: false
}
}
},
CreateMessage: {
screen: CreateMessageScreen,
navigationOptions: {
header: {
visible: false
}
}
},
DashboardScreen: {
screen: DashboardScreen,
navigationOptions: {
header: {
visible: false
}
}
}
},
{
initialRouteName: "Splash"
}
);