我有一个智能User
组件,用于呈现Redux
州的用户信息。
这是我定义的路线:
<Route path="/users/:id" component={User}/>
每当我点击特定用户时,路由更改并强制组件更新。但是,当路由更改时,我希望发送Redux
操作,以便从外部API通过:id
获取用户详细信息。
更改User
路径后,为Route
组件获取新数据集的正确方法是什么?
我尝试在Redux
上发送componentWillReceiveProps()
操作,但这会导致无限循环,因为操作导致组件再次更新...重复。
答案 0 :(得分:2)
您可以在componentWillReceiveProps
中执行此操作,但在那里您可以为present和nextProps提供条件,例如
componentWillReceiveProps(nextProps) {
if(this.props.params.id !== nextProps.params.id) {
//...action here
}
}