useRouter
React-navigation is a routing library based on routing stack, which can be used for react-native page management.
text
import { StackActions, useNavigation, useRoute } from '@react-navigation/core';
export const useRouter = <P extends { [k: string]: any }>() => {
const navigation = useNavigation();
const route = useRoute();
return {
push: navigation.navigate,
back: () => {
if (navigation.canGoBack()) {
navigation.goBack();
} else {
// 退出rn页面回到原生或退出应用
}
},
reset: (screen: string, params?: any) => {
navigation.reset({
index: 0,
routes: [{ name: screen, params }],
});
},
exit: () => { /** 退出rn页面回到原生或退出应用 **/ },
replace: (screen: string, params?: any) =>
navigation.dispatch(StackActions.replace(screen, params)),
getParams: () => (route?.params as any) as P,
};
};
Contributors
作者:Long Mo
字数统计:118 字
阅读时长:1 分钟
文章作者:Long Mo
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Longmo Docs !