javascript 如何在ReactTable getTrProps中传递嵌套数组

nx7onnlm  于 2023-02-15  发布在  Java
关注(0)|答案(1)|浏览(136)

我有一个客户的嵌套数组,用于指示他们是否已为所提供的服务付费。我使用ReactTable来显示数据。我希望如果客户已付费,则已付费客户所在的行将以黄色突出显示。当前我收到TypeError:无法读取未定义的属性(阅读“status”)。
我怎样才能改进下面的代码,以纠正错误状态是未定义的。提前感谢
Json输出

[{
  "customers": {
      "_id": "63e9303a16267390f9304321",
      "customerdetails": "63e6a4d21aeb535a4fe1b841",
      "status": "Paid",
      "amountPaid": "500",
      "roomNo": "2",
      "servedby": "Wade Jones",
      "createdAt": "2023-02-12T18:30:18.756Z",
      "updatedAt": "2023-02-12T18:30:18.756Z",
      "__v": 0
   }
  }]

ReactTable code  

<ReactTable

  getTrProps = {(state, rowInfo, instance) => {
        if (rowInfo) {
          return {
            style: {
              background: rowInfo
                ? rowInfo.row.customers.status === 'Paid'
                  ? "Yellow"
                  : "none"
                : "none"
            }
          };
        }
        return {};
      }}

  />
ilmyapht

ilmyapht1#

问题是您正在尝试访问未定义对象的“status”属性。在尝试访问“status”属性之前,您需要检查是否定义了“customers”对象。

  • 将代码更改为以下内容:*
<ReactTable

  getTrProps = {(state, rowInfo, instance) => {
        if (rowInfo && rowInfo.row.customers) {
          return {
            style: {
              background: rowInfo.row.customers.status === 'Paid' ? "Yellow" : "none"
            }
          };
        }
        return {};
      }}

  />

相关问题