我猜这是一些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/

10-10 02:12