javascript - 条件渲染在 tbody 中不起作用

标签 javascript reactjs

我正在尝试渲染一个条件 JSX。所以,我无法渲染它

这里我有 tbody 的固定高度。

最大高度:120px;

<tbody className="text-center" style={jobsHeight}>
      {props.jobList && props.jobList.length > 0 && props.jobList.map((item, key) => {
        return areJobsPresent ? (
          <tr key={key}>
            <td className="noborder">{item.technology}</td>
            <td className="font-weight-bold noborder">{item.resumeCount}</td>
            <td title={item.jobTitle} className="noborder">
              {item.jobTitle}
            </td>
            <td className="font-weight-bold noborder">{item.totalScore}</td>
            <td className="font-weight-bold noborder">{item.avgScore}</td>
          </tr>
        ) :
          <tr>
            <td>
              No Jobs Found. please create a Job
            </td>
          </tr>
      })}

所以在渲染之前,我正在计算 areJobSabsent 标志。

 const areJobsPresent = props.jobList.length > 0

所以,我在这里尝试了这种方式。如果不存在数据,那么我想显示带有消息的 tr。那么,我哪里错了?谁能帮我解决这个问题?

最佳答案

您的代码不起作用的原因是因为您在调用 map 之前已经检查了条件,因此 map 永远不会执行并且内部条件永远不会被检查。您必须在 map 调用之外使用三元表达式

<tbody className="text-center" style={jobsHeight}>
      {props.jobList && props.jobList.length > 0 ? props.jobList.map((item, key) =>         <tr key={key}>
            (<td className="noborder">{item.technology}</td>
            <td className="font-weight-bold noborder">{item.resumeCount}</td>
            <td title={item.jobTitle} className="noborder">
              {item.jobTitle}
            </td>
            <td className="font-weight-bold noborder">{item.totalScore}</td>
            <td className="font-weight-bold noborder">{item.avgScore}</td>
          </tr>)
        ) :
          <tr>
            <td>
              No Jobs Found. please create a Job
            </td>
          </tr>
      }

关于javascript - 条件渲染在 tbody 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56493171/

相关文章:

javascript - 将字符串替换为 lodash

javascript - 在 jQuery 中我该怎么说呢?

reactjs - 强制组件在 redux 状态更改后重新渲染

node.js - Node中的类中不能定义const吗?

javascript - "+"js中的字符回显来自html页面的编辑数据被替换为数据库中的空白

javascript - DatePicker 编辑时不显示输入中的日期

javascript - 使用javascript和django将文本文件上传到服务器中的某个文件夹

javascript - React,将 onClick 事件直接添加到组件而不是在所述组件内渲染元素。

javascript - 在 React JS 中验证不正确时如何更改文本框的颜色

javascript - 替换状态数组中的项目