REACT — Неизвестное свойство обработчика событий

У меня есть пользовательский компонент под названием RepositoryListDialog, и когда я его использую

 <RepositoryListDialog  onselecteditem = {this.onRepositorySelected} />

Реагируйте, верните мне предупреждение в консоли:

Неизвестное свойство обработчика событий onselecteditem. Это будет проигнорировано.

Я заметил, что эта проблема возникает, если я добавляю нераспознанное свойство для собственного тега DOM, такого как div, или что-то еще.

Но RepositoryListDialog — это настраиваемый тег, и я не понимаю этого предупреждения о реакции.

Репозиторийлистдиалог

<Dialog   
  aria-labelledby = "repository-list-dialog" 
  open = {this.props.dialogShowed} 
  classes = {{paper:classes.cssRepositoryListDialogPaper}} 
  {...other}> 
  
  <DialogTitle id = "repository-list-dialog-title">Select Repository</DialogTitle> 
</Dialog>

Не могли бы вы опубликовать код диалога списка репозиториев. Спасибо

dorriz 10.04.2019 16:25

<Dialog aria-labelledby = "repository-list-dialog" open = {this.props.dialogShowed} class = {{paper:classes.cssRepositoryListDialogPaper}} {...other} > <DialogTitle id = "repository-list-dialog -title">Выбрать репозиторий</DialogTitle> </Dialog>

user2543127 10.04.2019 16:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
5 255
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Внутри компонента RepositoryListDialog у вас может быть что-то вроде этого:

<div {...this.props}>

у меня есть <div {...other}>, я удалил его, и он работает. Не могли бы вы объяснить мне?

user2543127 10.04.2019 16:31

из чего состоит другой объект?

Uladzislau Ulasenka 10.04.2019 16:33

если ваш объект other включает свойство onselecteditem, то в результате вы получите <div onselecteditem = {other[onselecteditem]}>

Uladzislau Ulasenka 10.04.2019 16:36

вероятно, другой объект содержит ряд реквизитов, которые они не распознают в элементе div

user2543127 10.04.2019 16:36

да. я тоже так думаю

Uladzislau Ulasenka 10.04.2019 16:37

Только что наткнулся на это. Попробуйте сделать первую букву заглавной. JSX ожидает, что пользовательские компоненты будут начинаться с прописной буквы. Кажется, работает в любом случае (то есть предупреждает, но все равно работает), но использование заглавной буквы должно устранить проблему.

Эй, @AndrewS, добро пожаловать на ТАК - попробуйте включить пример вашего кода, который на самом деле изменится, и, возможно, некоторые примечания о том, что этот ответ делает по-другому по сравнению с уже принятым.

Pascal Lamers 25.01.2021 23:15

Другие вопросы по теме