#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
.