Хорошим решением является использование AbortController
или библиотеки, подобной axios
, которая поддерживает отменяемые запросы, но вы также можете оставить переменную экземпляра, которую вы изменили на false
, когда компонент размонтируется, и проверить его перед использованием. setState
после того, как запросы завершены.
Пример
class App extends React.Component {
_isMounted = true;
async componentDidMount() {
const page = await fetchPage(this.props.page);
const section = await fetchSection(this.props.section);
if (this._isMounted) {
this.setState({ page, section });
}
}
componentWillUnmount() {
this._isMounted = false;
}
render() {
// ...
}
}
Мне также был нужен WYSIWYG-редактор для проекта Windows Forms, что я продолжал работать. Я записал об объектах, что нашел здесь . В конечном счете я закончил тем, что использовал что-то, что я нашел на CodeProject: А основанный на Windows Forms текстовый редактор с выводом HTML . Это действительно нарушает (a) выше, в котором это использует управление WebBrowser. Однако я ничто не мог найти хорошим, который не сделал этого (если Вы не используете WebBrowser в некотором роде, затем в основном необходимо исправить собственный синтаксический анализатор HTML и рендерер для обработки части "What-You-See" WYSIWYG). Хорошая вещь об этом управлении состоит в том, что источник легко настраиваем, таким образом, можно устранить и добавить параметры форматирования, поскольку Вам нужно (и если Вы хотите стили ко всем быть в гармонии, можно сделать это также).
Я использовал этот , который идет немного ниже, чем WebBrowser, но все еще использует MSHTML, который действительно выкладывает некоторый ужасный HTML. В моих целях я делаю редактора мультис вкладками с режимом редактирования WYSIWYG и HTML (использующий ICSharp. TextEditor) с Буферным классом для обновления каждый раз, когда вкладки изменяются. Как часть того Буферного класса, я на самом деле выполняю HTML через HTML, Опрятный и несколько scrub-n-replace битов для получения допустимого XHTML.
я только предлагаю это как решение, потому что мне также не удалось найти тот, который не был получен из MSHTML в некотором роде и в конечном счете просто продолжил вышеупомянутое решение продолжать двигаться вперед.
я использовал комбинацию a) и b)
:-)
, я использовал обертку вокруг mshtml и tinymce в webeditor...
http://peitor.blogspot.com/2007/12/great-windows-forms-html-control.html
снимки экрана включены.
я думаю, что необходимо дать тому управлению попытку.
Исходный код nikhil предоставляет достойное решение. Я загрузил этот небольшой компонент когда-то назад, я думаю, что он использует MSHTML. Но я не уверен в этом. Источник может загруженный здесь . Сообщите мне, помогает ли это :)
Вы не упоминали, готовы ли Вы заплатить за управление, но если Вы, я рекомендую Actipro SyntaxEditor.
Вместо того чтобы искать HTML-редактор, рассмотрите вариант RichText-редактора (который может быть гораздо проще в создании), а затем преобразуйте окончательный текст в HTML-документ.
При условии, что от вас требуется использование минимального набора функций (жирный / курсив и т.д.) как создание редактора RT, так и преобразование конечного документа в формат HTML не должно быть сложным.
Если, с другой стороны, вам необходимо использовать больше возможностей (например, таблицы), вам нужно изучить Rich Text Format и реализовать необходимые вам возможности.
Дополнительные ресурсы: