我猜这是一些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)
有任何想法吗?我将非常感激。
最佳答案
控制台具有此出色的功能,它决定要向您显示当前值,而不是记录时的值(如果有突变)。
我建议要么使hearts具有一个空数组的默认值:
const { hearts = [] } = useContext(GlobalContext);
或使用
hearts?.filter()
这样您就可以处理心变量未定义的情况。
关于javascript - 数组未定义,但可以通过控制台注销,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61127277/