首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React路由器交换机不为不同的路由安装相同的组件

React路由器交换机不为不同的路由安装相同的组件
EN

Stack Overflow用户
提问于 2018-03-30 09:52:15
回答 1查看 2K关注 0票数 2

我已经定义了这些路由

代码语言:javascript
复制
<Switch>
    <Route path='/1' render={() => <ComponentA />} /> 
    <Route path='/2' render={() => <ComponentA />} />
    <Route path='/3' render={() => <ComponentA />} />
</Switch>

当我点击/1页面上的应用程序时,ComponentA的渲染效果很好。但是当我导航到/2时,ComponentA没有重新挂载,但render函数确实触发了。

如果我使用不同的组件,它将被正确地安装

ComponentA根据属性更改呈现内容,并在componentDidMount中触发检索数据的操作

这是预期的行为吗?看起来我们不应该为不同的路由重用组件

EN

回答 1

Stack Overflow用户

发布于 2018-04-12 13:04:12

只需在你的渲染组件上添加一个唯一的键--这就为我修复了它。

代码语言:javascript
复制
<Switch>
   <Route path='/1' render={() => <ComponentA key={1} />} /> 
   <Route path='/2' render={() => <ComponentA key={2} />} />
   <Route path='/3' render={() => <ComponentA key={3} />} />
</Switch>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49567416

复制
相关文章

相似问题

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