javascript - 数组映射不返回值 react

标签 javascript reactjs

我有以下功能

  churnModel = () => {
        if (this.props.churnModel === undefined || this.props.churnModel.length === 0) {
          return("N/A")
        } else {
          this.props.churnModel.map((churn) => {
            if (churn === undefined || churn.length === 0) {
              return("N/A")
            } else {
              return(churn.map((model) => {
                this.service(model.scoreModelId)
              }))
            }
          })
        }
  };

this.service 函数看起来像这样......

service(e) {
  switch(e.toString().toLowerCase()) {
    case "in":
      return <span>in</span>
    case "rpt_callr":
      return <span>repeat</span>
    default:
      return <span>na</span>
  }
}

我希望在这里显示结果:

<div className="riskScore">{this.churnModel()}</div>

什么也没有显示,但是当我输入日志时,这些日志就会被打印出来。

这里发生了什么?

最佳答案

您需要将return放在this.props.churnModel.map之前。this.service(model.scoreModelId)

  1. 如果没有返回任何内容,函数将返回undefined
  2. map() 接受回调并将数组的每个元素更改为该回调的返回值。如果您不返回任何内容,则所有元素都将未定义

您还可以通过删除 {} 来删除 this.service(model.scoreModelId) 之前的 return。就像这样。

return(churn.map((model) => this.service(model.scoreModelId)))

这是代码

churnModel = () => {
        if (this.props.churnModel === undefined || this.props.churnModel.length === 0) {
          return("N/A")
        } else {
          return this.props.churnModel.map((churn) => {
            if (churn === undefined || churn.length === 0) {
              return("N/A")
            } else {
              return(churn.map((model) => {
                return this.service(model.scoreModelId)
              }))
            }
          })
        }
  };

关于javascript - 数组映射不返回值 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126699/

相关文章:

javascript - <span> 不能作为 <select> 的 child 出现在 react 中

reactjs - 使用 useReducer 函数 Hook 更新状态的最佳方法是什么?

reactjs - 如何从对象列表创建对象列表列表?

javascript - javascript对象中的互斥 bool 值?

javascript - ramda.js 中是否有相当于 mapValues 的函数(类似于 lodash)?

javascript - 如何在javascript中获取GET变量的值?

javascript - 在 Chrome 中解析 SVG 路径日志消息时出错

javascript - 如何从 React 中的日期时间选择器获取值?

javascript - 如何为 div back-jquery 的高度设置动画

javascript - 如果不需要任何 Prop ,我应该用 React.memo() 包装我的所有组件吗?