react-router-dom - React Router Dom 嵌套开关问题。点击链接后如何重新渲染?
问题描述
问题:单击链接按钮时地址栏发生变化,但组件并未实际呈现。我不确定的是它根本没有安装到 DOM 上,还是只是没有从 DOM 中渲染出来。
重现代码:我的代码看起来与此非常相似:
export const AppRouter = () => {
const isAuth = false;
return (
<Switch>
{!isAuth && (
<Route path={'/auth'}>
<NestedSwitchComponent />
</Route>
)}
){isAuth ? <Redirect to="/" /> : <Redirect to={'/auth'} />}
</Switch>
);
};
export const NestedSwitchComponent = () => {
const arrayWithPathsAndComponents = [{
path: 'login',
Component: LoginForm
},{
path: 'register',
Component: RegisterForm
}]
return (
<>
<Link
to={'/auth/login'}
>
<Link
to={'/auth/register'}
>
<Switch>
{arrayWithPathsAndComponents.map(({ path, Component }) => (
<Route
key={path}
path={"/auth" + path}
component={Component}
></Route>
))}
</Switch>
</>)
};
解决方案
推荐阅读
- ruby - 如何在 Ruby 中将两个 int 变量相乘
- python-3.x - Privnote 套接字服务器不理解请求
- python - 使用请求将图像发布到 Firebase
- java - 依赖于某些条件/属性名称等的 JsonView 序列化
- javascript - 数据表 - 加载时显示最后一页
- java - 没有足够的堆内存来运行 weka 3.8.4
- javascript - 当我尝试在端口 5500 上启动 localhost 时,Google Chrome 无法连接
- ruby-on-rails - Rails 订单搜索结果
- php - 如何在 php 中使用正则表达式检查数组上的 url?
- docker - 每次我想运行时,我的 HAproxy 容器都会退出