gpt4 book ai didi

javascript - React-router:使用 hashHistory.push 刷新子页面内容

转载 作者:行者123 更新时间:2023-11-30 00:04:16 25 4
gpt4 key购买 nike

我正在开发一个像这样使用 react 路由器的 SPA:

<Router>
<Route path="/" component={Base}>
<IndexRoute component={Home}/>
<Route path="features/:id" component={Single} />
</Route>
</Router>

我有一个附加到 Base 的组件,它应该通过以下方式更新 Single 的内容:

hashHistory.push(`features/${val.value}`);

页面 url 更新成功,但是一旦我进入子路由,对 hashHistory 的更改不会导致子状态更新。我有什么想法可以在这里重新加载内容吗?

最佳答案

您需要添加 componentWillReceiveProps lifecycle method .这将响应所有 render 的 prop 更改,除了初始的。回想一下,来自路由器的一切实际上都只是一个 Prop 。

// Example: the feature id changed in the url
componentWillReceiveProps(nextProps) {
if (this.props.params.id !== nextProps.params.id) {
this.setState(...);
}
}

关于javascript - React-router:使用 hashHistory.push 刷新子页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109479/

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