是否可以从React的循环结果中存储prop属性的值?
我有以下组成部分:
<CheckboxSemantic
defaultChecked={questionItem.answer.map((answerItem, answerItemItemIndex) => {
if (answerItem.value === questionMapping.value) {
return true;
}
return false;
})
} />
这将返回以下错误:
警告:prop类型失败:类型无效的prop
defaultChecked
提供给
array
的Checkbox
,预期为boolean
。有没有更好的方法可以实现这一目标?
最佳答案
问题出在map
。它将始终返回array
。您需要使用如下所示的reduce
。
<CheckboxSemantic
defaultChecked={questionItem.answer.reduce((acc, answerItem) => {
if (answerItem.value === questionMapping.value) {
acc = true;
}
return acc;
}, false)
} />
注意:未经测试,可能会出现语法错误。