首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solidjs路由器不呈现

Solidjs路由器不呈现
EN

Stack Overflow用户
提问于 2022-07-04 11:12:15
回答 2查看 270关注 0票数 1

我已经搜索了很多,但找不到答案,在我的SolidJs应用程序中,第二条路径没有在根元素中重新显示:

代码语言:javascript
复制
import { Routes, Route, useLocation } from "solid-app-router"
import { useNavigate } from 'solid-app-router';

const Login = lazy(() => import("./pages/login"));
const Operation = lazy(() => import("./pages/operation"));

export default function App() {
  const navigate = useNavigate();
  const location = useLocation();
  onMount(() => {
    const token = localStorage.getItem('token');
    if (!token && location.pathname !== '/') {
      navigate("/", { replace: true });
    }
    if (token && location.pathname === '/') {
      navigate("/operations", { replace: true });
    }
  });
  return (
    <Routes>
      <Route path='/' component={Login} />
      <Route path='/operations' component={Operation} />
    </Routes>
  )
}

Everything it looks ok at component Operation and if i call this component in first route like bellow it work:

<Route path='/' component={Operation} />```
EN

回答 2

Stack Overflow用户

发布于 2022-09-27 18:25:13

根组件应该包装在Router组件中。

票数 0
EN

Stack Overflow用户

发布于 2022-11-06 13:33:59

我为此挣扎了一段时间,并意识到应用程序需要通过一个Routes标记来引用<A>

如果您查看这个部分文档,它会提到这些标记包括一个active类,它似乎被用来告诉应用程序在构建时实际捆绑这个组件,否则默认情况下不包括它。

因此,如果您像Navbar一样将<A href="/operations">Operations</A>放在主页的某个位置,那么页面/组件应该在部署时捆绑在一起。

默认情况下,尽管Routes中的dev环境中的所有路由都应该工作,所以如果它不能在dev环境中工作,我只需要检查模块是否被正确解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72855816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档