首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >React调用回调函数无限

React调用回调函数无限
EN

Stack Overflow用户
提问于 2018-09-19 22:46:20
回答 1查看 100关注 0票数 0

我是个新手。我面临着一个无限调用回调函数的问题。

我有一个具有handleAssignUser()函数的组件A。

代码语言:javascript
代码运行次数:0
运行
复制
handleAssignUser = (id) =>{
    console.log(id);
    this.setState({user_id:id});
  }

我将此函数作为回调传递给组件B。

代码语言:javascript
代码运行次数:0
运行
复制
<AssignTaskUserList usersLists={this.state.usersLists} callBack={()=>this.handleAssignUser} />

在组件B上,我必须在componentWillReceiveProps()中调用此函数,并在选择用户时调用此函数。

代码语言:javascript
代码运行次数:0
运行
复制
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。请告诉我我哪里做错了。

EN

回答 1

Stack Overflow用户

发布于 2018-09-19 23:07:02

callBack={()=>this.handleAssignUser}不正确,这等于

代码语言:javascript
代码运行次数:0
运行
复制
() => {
  this.handleAssignUser; // not running
}

请改用callBack={this.handleAssignUser}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52408583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档