我正在尝试基于链接更新我的状态。它取决于通过路由向下传递的param.ID。
问题是我不确定如何将该信息获取到父组件。
状态有一个对象数组。单击链接将更改对象的属性之一。但是我需要知道单击了哪个链接才能知道如何更新状态。理想情况下,我将在父组件中具有以下功能:
updateState() {
this.setState({
data: ????
})
但是我不确定在不事先知道参数的情况下如何设置数据。如果我将事件处理程序传递给链接中的onClick函数,我只会得到html。
我尝试将子组件更改为类组件,然后从那里更新状态,但这不起作用。即使在componentDidMount
中。我收到一个严重错误,说我要多次更新状态,这将导致无限循环。
答案 0 :(得分:0)
比较组件中以前的先前道具确实更新为当前道具。
componentDidUpdate(prevProps) {
if(prevProps.value !== this.props.value){
this.setState({value: this.props.value)}
}
未经测试...但这是要点。