如何在按钮单击时更新状态

时间:2019-02-13 09:11:08

标签: reactjs

我正在获取元素的“ id”,并尝试通过单击按钮将其设置为状态。我做不到。以下是我的代码。

sendJobId = () => {
    const id = $('.modal').attr('id');
    this.setState=({jobId:this.id})

}

onclick位于以下

<Link to={`/employerprofile`} onClick={this.sendJobId}>visit employer profile</Link>

2 个答案:

答案 0 :(得分:0)

Remove =在this.setState与对象之间。 setState是一个函数。

sendJobId = () => {
    const id = $('.modal').attr('id');
    this.setState({jobId:this.id});

}

答案 1 :(得分:0)

我了解您的问题,但了解您问题的背景。换句话说,为什么要获取id等。话虽如此,这是如何正确获取ID并设置状态的方法。

在构造函数中,添加:

this.someRef = React.createRef();

然后将ref添加到您感兴趣的元素中:

<div ref={this.someRef} className="modal fade show" id={joblist.id} tabIndex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

现在,您可以在DOM中直接引用该div,可以设置状态:

sendJobId = () => {
  const {id} = this.someRef.current; // Destructuring syntax, fyi
  this.setState({jobId: id});
}