我猜这是一些JS命令或事件吗?在下面的代码中,全局上下文提供程序填充了心脏。 console.log有效,数据类型为Array。但是,筛选方法会错误地指出未定义心形。
const [active, setActive] = useState();
const { hearts } = useContext(GlobalContext);
const record = props.record
console.log(hearts)
var arrayCheck = hearts.filter(heart => heart.id === record.id)
有什么想法吗?我将非常感激。
答案 0 :(得分:2)
控制台具有此出色的功能,它决定要向您显示当前值,而不是在记录日志时(如果有突变)显示值。
我建议要么使hearts具有空数组的默认值:
const { hearts = [] } = useContext(GlobalContext);
或使用
hearts?.filter()
以便您处理心形变量未定义的情况。