ReactJS:使用函数作为道具返回<td>的值会给出<Component />错误

时间:2019-11-26 15:00:29

标签: reactjs state

我具有以下功能:

budgetList() {
    return this.state.projects.map(currentproject=> {
      return <Budget project={currentproject} filter= {this.filterIssues} key={currentproject._id} stop={this.stopPropagation}  modal={this.state.modal} toggle={this.toggle}/>;
    })
}

我的问题来自filterIssues函数,该函数用于筛选状态并检索一些值。在下面发布。

filterIssues (id, sprint) {

  let filteredIssues = this.state.jiras
                            .filter( issue => issue.fields.project.key === id )
                            .filter( issue => issue.fields.sprint.name === sprint )

  let sum = 0;                          
  for (var i = 0; i < filteredIssues.length; i++) {
      sum += filteredIssues[i].fields.timetracking.originalEstimateSeconds
  }

  sum /= 3600;
  console.log(sum)
  return sum;
}

现在,我正在使用该函数为Budget元素中的每个元素检索一个值。

const Budget = props => (
    <tr onClick={() => props.toggle(props.project._id)}>
      <td>£{((props.project.proposedBudget / 4) *1000) }</td>
      <td>{() => props.filter(props.project.project, "APP" + 74)}</td>
      <td>{() => props.filter(props.project.project, "APP" + 75)}</td>
    </tr>
  )

问题在于每个

  

函数作为React子代无效。如果您可能会发生这种情况   返回一个Component而不是从render返回。也许你   打算调用此函数而不是返回它。

不确定我在做什么错。在Budget组件之外,该功能可以正常运行。

0 个答案:

没有答案