Solid-js 1.7.3与solid-app-router 0.4.2中router.outlet非函数报错求助
排查solid-app-router路由报错:route.outlet is not a function
未修改任何代码的情况下重启应用,路由突然完全失效,报错信息如下:
uncaught TypeError: route.outlet is not a function at get children [as children] (components.jsx:57:64) at Object.fn (dev.js:995:35) at runComputation (dev.js:696:22) at updateComputation (dev.js:679:3) at createMemo (dev.js:250:10) at children (dev.js:577:20) at dev.js:995:14 at untrack (dev.js:434:12) at Object.fn (dev.js:991:36) at runComputation (dev.js:696:22) get children @ components.jsx:5
项目当前依赖版本:
{ ... "devDependencies": { "@interactjs/types": "^1.10.17", "@tauri-apps/cli": "^1.2.3", "@types/uuid": "^8.3.4", "sass": "^1.62.0", "typescript": "^4.9.5", "vite": "^4.2.1", "vite-plugin-solid": "^2.7.0", "vite-plugin-solid-svg": "^0.2.0" }, "dependencies": { "@emailjs/browser": "^3.11.0", "@johanmnto/crypto": "^1.0.0", "@johanmnto/query": "^1.1.7", "@johanmnto/testings": "^1.1.0", "@motionone/solid": "^10.16.0", "@stripe/stripe-js": "^1.52.1", "@tauri-apps/api": "^1.2.0", "@types/qrcode-svg": "^1.1.1", "@types/sortablejs": "^1.15.1", "@vercel/analytics": "^0.1.11", "html2pdf.js": "^0.10.1", "image-conversion": "^2.1.1", "interactjs": "^1.10.17", "qrcode-svg": "^1.1.0", "solid-app-router": "^0.4.2", "solid-js": "^1.7.3", "sortablejs": "^1.15.0", "stripe": "^8.222.0", "uuid": "^8.3.2" } }
排查建议
- 检查components.jsx第57行代码,确认调用
route.outlet()的上下文是否正确,是否在路由上下文外错误访问了route对象 - 验证路由配置的语法,嵌套路由的定义是否符合solid-app-router规范,避免出现拼写错误或结构错误
- 清理依赖缓存并重新安装:
rm -rf node_modules package-lock.json npm install - 检查版本兼容性:solid-app-router@0.4.2和solid-js@1.7.3可能存在兼容问题,尝试升级solid-app-router到适配solid-js 1.7.x的版本(如0.6.x系列)
- 禁用vite插件排查冲突:暂时关闭vite-plugin-solid-svg等非核心插件,重启应用看是否恢复正常
- 清理vite缓存:
npx vite --clear-cache
内容的提问来源于stack exchange,提问作者johan
相关产品推荐
相关产品推荐

