/** * createModuleRouteLoader - 创建路由模块加载器函数 * 简化路由定义的辅助函数,自动从模块 exports.routes 中提取组件 * 用于 React Navigation 的 getComponent API */ import React from 'react'; import { createModuleLoader } from './createModuleLoader'; /** * 创建路由模块加载器函数 * @param moduleId 模块 ID * @param routeKey 路由 key(对应模块 exports.routes[routeKey]) * @returns 返回一个函数,该函数返回 React 组件(用于 getComponent) */ export function createModuleRouteLoader( moduleId: string, routeKey: string ): () => React.ComponentType { return createModuleLoader( moduleId, (exports: any) => { if (!exports || !exports.routes || !exports.routes[routeKey]) { throw new Error( `Route "${routeKey}" not found in module "${moduleId}"` ); } return exports.routes[routeKey]; } ); }