React响应式导航栏跳转页面时H1标签不显示问题咨询
问题原因
该问题的核心诱因是路由渲染出口放置位置错误,具体逻辑如下:
- 这个响应式导航栏项目拆分了桌面端、移动端两套独立的展示逻辑:移动端导航链接收纳在默认折叠隐藏的菜单容器内,只有点击汉堡按钮触发展开状态时,这个容器才会显示在页面上;桌面端导航链接则放在常驻可见的顶部导航栏区域。
- 编写代码时,负责渲染路由匹配结果(也就是包含h1标签的关于、博客、联系我们等业务页面)的路由出口区块,被整个放进了移动端专属的折叠菜单容器(类名为
mobile-menu)中。 - 这就直接导致:桌面端访问时移动端折叠菜单容器本身不会挂载到DOM树,移动端访问但未展开折叠菜单时该容器处于隐藏状态,两种场景下路由匹配到的页面组件都无法正常渲染,自然看不到页面内的h1内容。
- 部分分支版本的代码还存在路由未配置精确匹配的问题,点击导航链接时始终命中首页路由规则,也会导致子页面内容不展示,但这属于次要诱因,核心问题还是路由出口的位置放错了。
相关参考:问题截图、项目代码仓库
内容的提问来源于stack exchange,提问作者Ayush Goyal
相关产品推荐
相关产品推荐

