Initial commit

This commit is contained in:
wuzhenyu
2025-08-27 19:20:10 +08:00
parent 9f5b8552a0
commit 8d7fd34e1a
35 changed files with 3983 additions and 114 deletions

64
hooks/useRouter.js Normal file
View File

@@ -0,0 +1,64 @@
import {
useIsFocused,
useRoute,
useNavigation,
} from '@react-navigation/native';
import AsyncStorage from '@/storage/index';
export const useRouter = props => {
const router = useNavigation();
console.log('🚀 ~ useRouter ~ router:', router)
const isFocused = useIsFocused();
const route = useRoute();
const linkTo = (path, params) => {
router.navigate(path, params);
};
const goBack = () => {
router.goBack();
};
const setParams = params => {
router.setParams(params);
};
const getParams = () => {
return router.getState().params;
};
// 获取当前路由
const getCurrentRoute = () => {
return router.getState().routes[router.getState().index].name;
};
// 重置所有路由
const resetAllRoutes = (name) => {
router.reset({
index: 0,
routes: [{ name: name || 'Guide' }],
});
};
// 判断是否 登录了再跳转 如果 没有登录就去登录页面
const isLogin = () => {
const user = AsyncStorage.getItemAsync('user');
if (!user) {
router.navigate('Login');
}
};
return {
router,
isFocused,
route,
linkTo,
goBack,
setParams,
getParams,
isLogin,
getCurrentRoute,
resetAllRoutes,
};
};