UNPKG

@gulibs/react-autoroutes-client

Version:

Client-side utilities for React auto routes

58 lines 1.88 kB
/** * 国际化路由加载器集成 * 为 React Router v7 提供国际化支持 */ import type { LoaderFunctionArgs } from 'react-router'; import type { I18nClient } from './i18n'; /** * 创建国际化路由 loader * 用于在路由加载时预加载所需的翻译资源 */ export declare function createI18nRouteLoader(i18nClient: I18nClient, options?: { /** 要预加载的语言列表,默认使用当前语言 */ locales?: string[]; /** 是否预加载所有支持的语言 */ preloadAll?: boolean; /** 延迟加载时间(毫秒) */ delay?: number; }): ({ request, params }: LoaderFunctionArgs) => Promise<{ locale: string; i18nLoaded: boolean; }>; /** * 创建带国际化的 defer loader * 支持 React Router v7 的 defer 功能 */ export declare function createDeferredI18nLoader(i18nClient: I18nClient, dataLoader?: (args: LoaderFunctionArgs) => Promise<any>): ({ request, params }: LoaderFunctionArgs) => Promise<{ locale: string; i18n: Promise<Record<string, Record<string, any>>>; data: Promise<any>; } | { locale: string; i18n: Promise<Record<string, Record<string, any>>>; data?: undefined; }>; /** * 国际化路由 handle 增强 * 自动处理页面标题的国际化 */ export declare function createI18nHandle(baseHandle?: any): any; /** * 创建国际化路由配置 * 为现有路由配置添加国际化支持 */ export declare function enhanceRoutesWithI18n(routes: any[], i18nClient: I18nClient, options?: { /** 是否为所有路由添加国际化 loader */ autoAddLoader?: boolean; /** 默认的语言参数名 */ localeParam?: string; }): any[]; /** * Hook: 在组件中使用路由国际化数据 */ export declare function useRouteI18n(): {}; /** * 导出类型定义 */ export type { LoaderFunctionArgs }; //# sourceMappingURL=i18n-route-loader.d.ts.map