【发布时间】:2018-09-19 14:46:19
【问题描述】:
我是 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)});
}
}
这是无限调用回调函数。请建议我哪里做错了。
【问题讨论】: