我是个新手。我面临着一个无限调用回调函数的问题。
我有一个具有handleAssignUser()函数的组件A。
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)});
}
}
这是调用回调函数infinite。请告诉我我哪里做错了。
发布于 2018-09-19 23:07:02
callBack={()=>this.handleAssignUser}
不正确,这等于
() => {
this.handleAssignUser; // not running
}
请改用callBack={this.handleAssignUser}
https://stackoverflow.com/questions/52408583
复制相似问题