Как мы можем устранить ошибку eslint в теге «Неинтерактивным элементам не следует назначать интерактивные роли»

#javascript #reactjs #typescript #react-redux

Вопрос:

Ниже приведен код, который я пытаюсь выполнить, но столкнулся с ошибкой при преобразовании его в доступный с клавиатуры:

 <p className={styles['clear-text']} onClick={clearAllFilters}>
  {'Clear All'}
</p
 

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

1. Привет, Пулкит. Мы возвращаемся к SO. Вы не вставили свой код. Пожалуйста, проверьте и отредактируйте свой вопрос, чтобы предотвратить его закрытие

2. Спасибо тушару, что дал мне знать. теперь я отредактировал код.

3. onClick не существует для тега p

4. Вы можете добавить role="button" , чтобы устранить ошибку eslint. Синтетические события работают для всех элементов в react.

Ответ №1:

вот официальное объяснение https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-element-to-interactive-role.md.

Короче говоря: либо измените тип элемента, либо сделайте исключение в настройках eslint. Что касается настроек, есть 2 варианта: глобальная настройка специальных комментариев