Привет. Я пытаюсь перейти к следующему компоненту с помощью функции 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"
}
);