gpt4 book ai didi

reactjs - React Router 开关不会为不同的路由安装相同的组件

转载 作者:行者123 更新时间:2023-12-05 01:43:20 24 4
gpt4 key购买 nike

我定义了这些路由

<Switch>
<Route path='/1' render={() => <ComponentA />} />
<Route path='/2' render={() => <ComponentA />} />
<Route path='/3' render={() => <ComponentA />} />
</Switch>

当我点击/1 页面上的应用程序时,ComponentA 呈现良好。但是当我导航到/2 时,ComponentA 不会被重新挂载,但渲染函数会触发。

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

ComponentA 根据 props 更改要渲染的内容,并在 componentDidMount 中触发检索数据的操作

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

最佳答案

只需在您的渲染组件上添加一个唯一键 - 这已为我修复。

<Switch>
<Route path='/1' render={() => <ComponentA key={1} />} />
<Route path='/2' render={() => <ComponentA key={2} />} />
<Route path='/3' render={() => <ComponentA key={3} />} />
</Switch>

关于reactjs - React Router 开关不会为不同的路由安装相同的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49567416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com