Я использую функцию UIKit (упорядочить) для перетаскивания вещей на экран, и она отлично работала, пока у меня не появилась эта ошибка:
NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node
UIKit перемещает элемент списка li
из одной группы ul
в другую ul
. Поскольку я использую UIKit для обработки перетаскивания, он отлично работает, пока я не изменю состояние и не отреагирую на отображение экрана, на котором я получаю указанную выше ошибку.
Можно ли отказаться от виртуального dom и попросить отреагировать на воссоздание или вручную обновить виртуальный DOM, чтобы отразить изменения в пользовательском интерфейсе? Или любые другие идеи приветствуются.
После этого документа кажется, что можно интегрировать с другими библиотеками, которые изменяют DOM (https://reactjs.org/docs/integrating-with-other-libraries.html), однако это старый документ, и я нашел статью в блоге, чтобы воссоздать forceUpdate с помощью этого настраиваемого хука:
import React, { useState } from 'react';
const useForceUpdate = () => useState()[1];
const App = () => {
const forceUpdate = useForceUpdate();
console.log('rendering');
return <button onClick={forceUpdate}>Click To Render</button>;
};
Поэтому я вызываю forceUpdate перед повторным рендерингом, но все равно получаю ту же ошибку.