Я думаю, что само предупреждение само за себя.
React имеет пул синтетического события , что означает, что он назначает событие обработчику, а после вызова обработчиком освобождает это событие обратно в пул.
const handleTagClick = x => console.log(x);
В приведенном выше коде x
- это не что иное, как synthetic event
, которое обнуляется и высвобождается в пул событий после того, как на экране отображается ваше TagInput
.
Поэтому, когда вы пытаетесь нажать, вы получаетепредупреждение.Простой способ избавиться от этого предупреждения - распечатать currentTarget
.
const handleTagClick = x => console.log(x.currentTarget.innerText);
Приведенный выше код напечатает точную цель, по которой щелкают.
Другой способ - использовать event.persist()
,
const handleTagClick = x => {
x.persist();
console.log(x.currentTarget.innerText);
}
Но я думаю, что это будет очень медленно в вашем случае, поэтому не используйте его.
Узнайте больше о синтетическом событии .
Демо