[英]React. Props error when try to use forEach function
当我尝试通过forEach
迭代器按条件从父组件Row
发送道具时,我什至在子组件中得到了undefined
。
我不知道问题是什么...
// Parent component
// ... class Row extends...
// ... some code
render() {
const canSelector = {
selectedItems: []
}
return (
<Row showImage={canSelector.selectedItems.forEach(item => {
item.ID === i ? 'item' : 'error'}) }
/>
}
)
// Child component for test
// ... class XXX extends...
// ... some code
const { showImage } = this.props
console.log(showImage); // gets "undefined", intead of "error" string
Array.prototype.forEach()不返回任何内容,这就是在<Row />
组件showImage
undefined
为showImage
值的showImage
。
我假设您正在尝试检查item.ID
是否具有与i
相同的值,并相应地返回'item'
或'error'
?
您可能要检查Array.prototype.findIndex() 。
您可以执行以下操作:
<Row showImage={canSelector.selectedItems.findIndex(item => item.ID === i) > -1 ? 'item' : 'error'} />
findIndex()
将返回满足所提供条件的数组中第一项的索引,否则将返回-1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.