是否可以从React的循环结果中存储prop属性的值?

我有以下组成部分:

<CheckboxSemantic
  defaultChecked={questionItem.answer.map((answerItem, answerItemItemIndex) => {
        if (answerItem.value === questionMapping.value) {
          return true;
        }
          return false;
       })
     } />


这将返回以下错误:


  警告:prop类型失败:类型无效的prop defaultChecked
  提供给arrayCheckbox,预期为boolean


有没有更好的方法可以实现这一目标?

最佳答案

问题出在map。它将始终返回array。您需要使用如下所示的reduce

<CheckboxSemantic
  defaultChecked={questionItem.answer.reduce((acc, answerItem) => {
        if (answerItem.value === questionMapping.value) {
          acc = true;
        }
        return acc;
       }, false)
     } />


注意:未经测试,可能会出现语法错误。

09-16 07:39