![](/img/trans.png)
[英]Call event.preventDefault() after calling event.persist() in React
[英]event.persist is not a function - JEST & Enzyme
我使用帶有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()});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.