在进行函数调用反应之前,如何设置状态?

时间:2019-12-23 07:31:05

标签: javascript reactjs events onclick

<li
  key={suggestion.id}
  id={`suggestion-${index}`}
  className="suggestion-list-item"
  onClick={e => this.props.checkToShare(e, suggestion)}
>

如何添加setState,然后在我的prop func事件中调用onClick

4 个答案:

答案 0 :(得分:0)

您可以在setState中使用callback,一旦状态更新,该状态就会被触发:

const handleClick = evt => {
  this.setState(..., () => {
    this.props.checkToShare(evt, suggestion)
  })
}
...

<li
  key={suggestion.id}
  id={`suggestion-${index}`}
  className="suggestion-list-item"
  onClick={handleClick}
>

答案 1 :(得分:0)

您可以调用setState并使用其回调函数:

 this.setState({...}, ()=>{ /* other function */})

答案 2 :(得分:0)

只需按{}键即可使用箭头功能

   <li
      key={suggestion.id}
      id={`suggestion-${index}`}
      className="suggestion-list-item"
      onClick={e => {
        this.setState({ clicked: "yes" });
        this.props.checkToShare(e, suggestion);
      }}
    ></li>

答案 3 :(得分:0)

最好使用另一种异步方法来获得更简洁的代码。

class MyModel
{
    /**
     * @var string
     * @validate NotEmpty
     */
    protected $title = '';

    /**
     * @var \MyAnotherModel
     * @copy reference
     */
    protected $author;