目前,我正在学习创建chrome扩展程序,并将JavaScript文件注入了DOM。
假设我有一个Counter
组件,其中count:0
和toShow: false
作为状态
我可以使用JavaScript代码获取Counter等渲染的DOM的每个元素。
像基本的document.querySelectorAll()
等对于DOM元素来说是完美的。因此,我可以访问count
状态,但是由于toShow
不在真实的DOM中,因此我无法直接看到它的值,即它是true还是false。
所以我很难使用代码来访问虚拟DOM。
React devtools很酷,因为我可以选择组件并使用$r
访问组件的所有内容。但是如果我没有记错的话,使用从chrome扩展名注入的javascript文件等,我将无法访问devtools等。
另一种方法是将react组件附加到窗口对象中,以便以后可以使用它,但这确实是一种不好的方法,因为它会使代码混乱。
无论如何,我可以使用代码访问虚拟dom,而无需更改生产代码。
谢谢。