gpt4 book ai didi

javascript - event.persist 不是函数 - JEST 和 Enzyme

转载 作者:行者123 更新时间:2023-11-30 14:02:38 24 4
gpt4 key购买 nike

我使用带有 JEST 和 Enzyme 的 React 16.3 作为我的测试实用程序,我有一个输入,当用户输入电子邮件并模糊该字段时,将调用一个函数 (handleInputBlur)。在该函数中,我正在更新状态 (setState) 和 setState() 回调,我正在调用另一个函数并传递最初传递给 handleInputBlur 的事件。

据我了解,由于 setState 是异步的,因此 React 不允许在 setState 的回调中传递事件。所以,我添加了 event.persist() 来保存事件。到目前为止一切正常。

当我尝试运行我编写的 JEST 测试用例并在输入上模拟 blur 时,它会调用该函数但会抛出错误:

TypeError: e.persist is not a function

我无法理解究竟要做什么才能解决这个问题。

最佳答案

当你模拟事件时,你可以像传递一个模拟事件对象给它

wrapper.find('a').simulate('blur', { persist: jest.fn()});

关于javascript - event.persist 不是函数 - JEST 和 Enzyme,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56052993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com