fix(react/settings): hook leak after closing tabs

This commit is contained in:
Elian Doran
2025-08-18 22:15:47 +03:00
parent 3837466cb3
commit 73ff41f2b2
5 changed files with 51 additions and 8 deletions

View File

@@ -22,11 +22,18 @@ export default abstract class ReactBasicWidget extends BasicWidget {
* @returns the rendered wrapped DOM element.
*/
export function renderReactWidget(parentComponent: Component, el: JSX.Element) {
const renderContainer = new DocumentFragment();
return renderReactWidgetAtElement(parentComponent, el, new DocumentFragment()).children();
}
export function renderReactWidgetAtElement(parentComponent: Component, el: JSX.Element, container: Element | DocumentFragment) {
render((
<ParentComponent.Provider value={parentComponent}>
{el}
</ParentComponent.Provider>
), renderContainer);
return $(renderContainer.children) as JQuery<HTMLElement>;
), container);
return $(container) as JQuery<HTMLElement>;
}
export function disposeReactWidget(container: Element) {
render(null, container);
}