Вопрос может показаться странным, но как принудительно заставить React перерисовать компонент в дом дереве браузера?
Дело в том, что forceUpdate и setState не дают результата, рендеринг запускается, но, похоже что дальше виртуального дерева обновление не проходит, в случае если пропсы и стейт не влияют на результат рендеринга.
если пропсы и стейт не влияют на результат рендеринга.
То реакт ничего делать и не должен и "заставлять" его не нужно
Получите прямую ссылку на DOM ноду, которую вы хотите "перерисовать" и "перерисуйте". Хотя что такое перерисовать при условии что DOM не поменялся?
Если вы хотите просто выкинуть все и создать заново - то поставьте какому-нибудь блоку key и поменяйте его на любое другое рандомное значение. Дерево пересоздастся.
Кей надо прокидывать сверху. А это надо изнутри компонента сделать, без размонтирования. Предположительно в дидМоунт вызвать ререндер.
Вопрос - зачем?
Есть глюк с левым компонентом, рисующим в канвас. И этот глюк пропадает только после ресайза этого компонента. Нужно или изменить размер окна мышкой, или сделать ререндер с измененным размером.
Например из дидМаунта ререндерим меняем размер дива - и все работает, но успевает проскочить на экране изменение размера, даже если оно крошечное - шевеленка.
В общем надо как-то принудительно заставить его обновиться с тем же размером, чтобы было незаметно.
maksipes, ну так это вопрос не про реакт а про то что делать с этим глючным компонентом.
или читайте его доку, как заставить его принудительно перерисовать канвас, если она есть, или копайте в исходники и думайте, если нет.
вам надо не компонент обновлять а канвас перерисовать.