Пожалуйста, отметьте сначала этот codeandbox .
Я написал компонент TextEditor
, используя draft js, который получил 3 свойства:
text
: html в виде строки onChange
: обратный вызов, который получает уникальный параметр (обновленную строку html) onUnfocus
: обратный вызов, который вызывается, когда вы щелкаете за пределами TextEditor
Если вы посмотрите на компонент App
, где я использую свой TextEditor
компонент, я сохраню текст в состоянии, которое я обновление с использованием onChange
.
Щелчок за пределами TextEditor
(с синим фоном) вызовет функцию onUnfocus
, которая console.log
состояние text
.
Но если я напишите слово (скажем, Hello
), а затем щелкните за пределами TextEditor
Я получу столько console.log
в качестве изменений:
> H
> He
> Hel
> Hell
> Hello
Ожидаемое поведение - наличие одного console.log
с последними изменениями:
> Hello
Кто-нибудь знает, почему я получаю так много console.log
?