Remix.run中特定路由参数slug返回undefined问题
问题原因及解决办法
出现该问题的核心原因是静态路由匹配优先级高于动态路由:你的路由目录中大概率存在与ai同名的静态路由文件(比如industries/ai.tsx)或industries/ai子目录。
当访问industries/ai时,路由框架会优先匹配静态路由,而非动态的$slug.tsx路由。如果这个静态路由没有配置对应的loader,或者你误判请求走到了$slug.tsx的loader逻辑,就会出现slug参数为undefined的情况;部分场景下静态路由与动态路由的覆盖冲突,也会导致动态参数无法被正确捕获。
排查与修复步骤
- 检查路由目录,确认是否存在
industries/ai.tsx文件或industries/ai子目录,若有则删除或重命名该静态路由资源 - 确认动态路由文件
$slug.tsx命名正确,且处于路由结构的对应层级 - 清理项目缓存后重新启动开发服务器,避免路由缓存引发的匹配异常
内容的提问来源于stack exchange,提问作者BigChungus
相关产品推荐
相关产品推荐

