1) Để làm cho nút quay lại biến mất trong điều hướng phản ứng v2 hoặc mới hơn:
navigationOptions: {
title: 'MyScreen',
headerLeft: null
}
2) Nếu bạn muốn làm sạch ngăn xếp điều hướng:
Giả sử bạn đang ở trên màn hình mà bạn muốn điều hướng từ đó:
Nếu bạn đang sử dụng phiên bản điều hướng phản ứng v5 hoặc mới hơn, bạn có thể sử dụng navigation.reset
hoặc CommonActions.reset
:
navigation.reset({
index: 0,
routes: [{ name: 'Profile' }],
});
Nguồn và thêm thông tin tại đây: https://reactnavigation.org/docs/navigation-prop/#reset
Hoặc là:
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
Nguồn và thêm thông tin tại đây: https://reactnavigation.org/docs/navigation-actions/#reset
Đối với các phiên bản cũ hơn của điều hướng phản ứng:
sử dụng v2-v4StackActions.reset(...)
import { StackActions, NavigationActions } from 'react-navigation';
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'myRouteWithDisabledBackFunctionality' }),
],
});
this.props.navigation.dispatch(resetAction);
sử dụng v1NavigationActions.reset
3) Đối với Android, bạn cũng sẽ phải tắt nút quay lại phần cứng bằng Trình điều khiển quay lại :
http://reactnative.dev/docs/backhandler.html
hoặc nếu bạn muốn sử dụng hook:
https://github.com/react-native-community/hooks#usebackhandler
nếu không, ứng dụng sẽ đóng khi nhấn nút quay lại phần cứng android nếu ngăn xếp điều hướng trống.