【发布时间】:2021-08-26 15:18:01
【问题描述】:
这是示例代码:
<Route exact path='/user'>
<UsersList />
</Route>
<Route path='/user/:name'>
<Sidebar />
<User />
</Route>
-
UsersList组件就像一个主页/登陆页面。 -
UsersList和Sidebar两个组件都包含链接列表。当我们点击任何链接时,我们将被重定向到那个用户页面。 -
User组件将呈现该特定用户的信息。
假设我们在/user/john 上并想继续/user/jack。但是当我这样做时,即当我单击链接以从 /user/john 转到 /user/jack 时,React 正在重新渲染 Sidebar 组件。
但我希望Sidebar 组件应该只渲染一次并且只在path='/user/:name' 时渲染。那么,该怎么做呢?
【问题讨论】:
-
如果您将添加链接或代码示例以提供更准确的解决方案。
-
Sidebar将始终重新渲染。当 URL 发生变化时,如果您想保存它,您可以将其保存在其constructor或componentDidMount函数中(此处不要使用 setState)。由于这些函数被调用一次
标签: javascript reactjs routes