如果修改innerHTML,则从状态渲染变量将停止工作

时间:2018-08-07 23:06:02

标签: reactjs typescript

存在一个问题,其中第三方库正在设置document.body.innerHTML,这会导致setState似乎无法完全正常工作。在Chrome中的React工具中,在调试时,它会正确更新状态对象,但渲染的输出不会更新。

无法弄清楚这里发生了什么,没有错误发生,单步调试器对我来说没有什么特别的。刚开始我也使用dangerouslySetInnerHTML,但是这个问题似乎也出现在普通的jsx值注入中。

在此示例中,如果将const ModifyBody = true;的值修改为false并且可以按预期工作,但是使用document.body.innerHTML =时它不会更新。

https://codepen.io/eibwen/pen/gjBxrZ


只需重述一下,它的第三方库执行body.innerHTML。具体来说,它是create a medium.com-like popup when selecting text的库,如果您碰巧知道一个可以更好地与TypeScript / React兼容的库,那么我也将全力以赴

0 个答案:

没有答案