Как исправить ошибку «аргумент типа HTML элемент | null не может быть присвоен параметру типа ‘targetElement’ с помощью библиотеки тестирования react?

#reactjs #react-testing-library

Вопрос:

у меня есть элемент переключателя в dom, вот так

 lt;divgt;  lt;label for="source"/gt;  lt;label value="false" class="StyledSwitch"gt;  lt;input type="checkbox" name="source" id="source"gt;  lt;i class="ball-container"gt;lt;/igt;  lt;span class="label" data-enabled="On" data-disabled="Off"gt;lt;/spangt;  lt;/labelgt; lt;/divgt;  

теперь я получаю элемент ввода с идентификатором «источник», используя библиотеку реактивного тестирования

 const switch = document.getElementById('source') if (switch) {  userEvent.click(switch); }  

приведенный выше фрагмент работает. но этот переключатель всегда присутствует, поэтому я не хочу проверять наличие переключателя в операторе if. когда я удаляю оператор if, как показано ниже,

 const switch = document.getElementById('source') userEvent.click(switch);  

я получаю ошибку, как показано ниже,

 "argument of type HTML element | null is not assignable to parameter of type 'TargetElement'   

может кто-нибудь помочь мне это исправить. Спасибо.

Комментарии:

1. Используйте запросы RTL для доступа к элементам DOM вместо использования document.getElementById .