【发布时间】:2018-03-05 13:16:56
【问题描述】:
我为不同的路线使用了相同的组件。当路由改变时,我希望组件被渲染。
<Switch>
<Route exact path="/" component={HomePage} />
<Route path="/hotels" component={HotelsPage} />
<Route path="/apartments" component={HotelsPage} />
</Switch>
当我将路由路径从/hotels 更改为/apartments 时,组件HotelsPage 不会刷新。
什么是很酷的方法?
【问题讨论】:
-
其中一种方式:
<Route path="/hotels" component={props => <HotelsPage {...props} />} /> -
组件不会刷新,除非它的道具发生变化。您需要将道具显式传递给组件。
-
谢谢大家。它解决了这个问题。但是,路线更改时如何滚动屏幕顶部? :)
-
你的意思是一旦你的路线改变了你想滚动到顶部?如果确实解决了您上面提到的问题,我已将其发布为答案,请接受答案:)
-
是的,没关系。我自己解决了。谢谢!
标签: javascript reactjs react-router