Реагировать на функцию обратного вызова бесконечность - PullRequest
0 голосов
/ 19 сентября 2018

Я новичок в React.Я сталкиваюсь с проблемой бесконечного вызова функции обратного вызова.

У меня есть компонент A с функцией handleAssignUser ().

handleAssignUser = (id) =>{
    console.log(id);
    this.setState({user_id:id});
  }

Я передаю эту функцию компоненту B в качестве обратного вызова.

<AssignTaskUserList usersLists={this.state.usersLists} callBack={()=>this.handleAssignUser} />

На Компоненте B. Я должен вызывать эту функцию внутри componentWillReceiveProps () и при выборе пользователя.

componentWillReceiveProps(nextProps) {
      this.funUserAssignTo(loginUser);
}

<button key={user._id} className="dropdown-item" type="button" onClick={(e)=>this.funUserAssignTo(user)}><span>{user.name}</span></button>


funUserAssignTo(user = ""){
    var self = this;
    if(General.notEmpty(user)){
      this.setState({
        selectedUser: user
      },() => {self.props.callBack(user._id)});
    }
  }

Это вызывает бесконечный вызов функции обратного вызова.Пожалуйста, предложите мне, где я делаю что-то не так.

1 Ответ

0 голосов
/ 19 сентября 2018

callBack={()=>this.handleAssignUser} неверно, это равно

() => {
  this.handleAssignUser; // not running
}

используйте callBack={this.handleAssignUser} вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...