Reactjs 如何使用React路由器参数更新子组件中的状态?

Reactjs 如何使用React路由器参数更新子组件中的状态?,reactjs,react-router,Reactjs,React Router,我正在尝试根据链接更新我的状态。它取决于通过路由传递的param.ID 问题是我不确定如何将该信息发送到父组件 状态有一个对象数组。单击链接将更改对象的一个属性。但是我需要知道点击了哪个链接才能知道如何更新状态。理想情况下,我会在父组件中使用此函数: updateState() { this.setState({ data: ???? }) 但是我不确定在事先不知道参数的情况下设置数据是什么。如果我将事件处理程序传递给链接中的onClick函数,我只会得到html 我

我正在尝试根据链接更新我的状态。它取决于通过路由传递的param.ID

问题是我不确定如何将该信息发送到父组件

状态有一个对象数组。单击链接将更改对象的一个属性。但是我需要知道点击了哪个链接才能知道如何更新状态。理想情况下,我会在父组件中使用此函数:

updateState() { 
    this.setState({
        data: ????
})
但是我不确定在事先不知道参数的情况下设置数据是什么。如果我将事件处理程序传递给链接中的onClick函数,我只会得到html


我尝试将子组件更改为类组件,并从中更新状态,但这不起作用。即使在
组件安装中
。我收到一个巨大的错误,说我更新状态的次数太多了,这将导致一个无限循环。

将component did update中以前的道具与当前道具进行比较

componentDidUpdate(prevProps) {
     if(prevProps.value !== this.props.value){
         this.setState({value: this.props.value)}
}
未经测试的。。。但这是它的要点