首页 > 解决方案 > 如何从修改后的 React 最终形式中按键访问值

问题描述

modified当用户尝试通过and关闭表单时,我正在确认values length > 0.

if (modified) {
    return (
      Object.keys(modified).filter(
        (modifiedItem) => modified[modifiedItem]  && values[modifiedItem]?.length > 0,
      ).length > 0
    )
  }

一切正常,直到有数组的值:当我尝试通过 values[answers.0.icon] 访问时,有 undefined,当然,它应该通过 values.answers[0].icon 访问,是吗迭代修改的键时可以这样做吗?或者应该赞赏另一种方式。

事先谢谢你。

下面的值截图:

在此处输入图像描述

修改键:

在此处输入图像描述

标签: reactjsredux-formreact-final-form

解决方案


您可以在 if 语句中添加 undefined 和 null ,以在过滤之前检查它是否为 true 且不是 undefined 且不为 null ,否则它将为 null 或者您可以放置​​其他内容。

if (modified && modified !== undefined && modified !== null) {
 return (
  Object.keys(modified).filter(
    (modifiedItem) => modified[modifiedItem]  && values[modifiedItem]?.length > 0,
  ).length > 0
 )   
} 
else {
 null
}

推荐阅读