javascript - 当特定组件要渲染时如何渲染组件?

标签 javascript reactjs routes

这是示例代码:

<Route exact path='/user'>
    <UsersList />
</Route>
<Route path='/user/:name'>
    <Sidebar />
    <User />
</Route>
  • UsersList组件就像一个主页/登陆页面
  • UsersListSidebar这两个组件都包含链接列表。当我们点击任何链接时,我们将被重定向到该用户页面
  • User组件将呈现该特定用户的信息。

假设我们正在 /user/john并想继续/user/jack 。但是当我这样做时,即当我单击链接从 /user/john 转到时至/user/jack , React 正在重新渲染 Sidebar组件。

但我想要那个Sidebar组件应该仅渲染一次并且仅在 path='/user/:name' 时渲染。那么,该怎么做呢?

最佳答案

如果您可以将 Sidebar 组件移出 Route 组件,则使用 React.Fragment简写标记作为所有 JSX 元素的父组件。

所以你应该使用这个

<>
  <Sidebar />
  <Route path='/user/:name'>
    <User />
  </Route>
</>

关于javascript - 当特定组件要渲染时如何渲染组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68941236/

相关文章:

javascript - 大小写搜索

html - 具有下载属性的 anchor 标记打开文件而不是下载

javascript - React - 在组件内动态创建列表项

linux - 选择到达目的地地址的特定路线/路径

java - 使用 Java 将消息从不同的 IP 地址发送到单个服务器

javascript - 设置操作系统特定的键绑定(bind) - Mac 上为 Cmd,其他设备上为 Ctrl

javascript - jQuery 在另一个事件中触发事件

Javascript float 问题与加法

javascript - Axios 响应未定义

php - 删除 symfony 路由组件中的默认语言环境前缀