Я хотел бы очистить состояние редактора React Rich Text (https://github.com/sstur/react-rte) при нажатии клавиши ввода.
Мое состояние выглядит следующим образом:
state = {
value: RichTextEditor.createEmptyValue()
}
Компонент RichTextEditor
предлагает предоставить свойство handleReturn. Таким образом, я реализовал следующую функцию handleReturn
:
handleReturn = () => {this.setState(prevState => ({
...prevState,
value: RichTextEditor.createValueFromString("", "html")
}));
}
Когда я запускаю функцию handleReturn с помощью кнопки вне самого RichTextEditor, он работаетотлично, и состояние (и область ввода текста) очищается должным образом. Однако, когда тот же handleReturn запускается с клавиши ввода, это не очищает состояние, но я вижу, что функция handleReturn срабатывает правильно. Я передаю функциюк компоненту, подобному следующему:
<RichTextEditor handleReturn={this.handleReturn} value={this.state.value}
onChange={this.onChange}/>
Любая помощь приветствуется. Спасибо!
ОБНОВЛЕНИЕ: я в итоге реализовал базовую библиотеку draft.js
(https://draftjs.org/) напрямую вместоБыл довольно плавный процесс, и он решил эту проблему, минуя использование react-rte
. Поэтому рекомендую переключиться, если у вас есть такая возможность.