在调试或添加功能测试时,有时更容易在ELEMENT视图中突出显示元素,然后使用控制台通过html ELEMENT获取组件。
Angular为此提供了angular.element($0)
我发现反应洒满react-id="10.0.0.8.1.0.$=10.0.1"
无处不在,现在问题是我可以使用魔法在控制台中查找组件吗?
使用/不使用反应式开发者扩展程序。
编辑:作为一个例子,我正在编写需要为反应组件触发onmouseenter
的E2E测试,这似乎不适用于我的React和Capybara-webkit版本(悬停和鼠标中心似乎没有触发处理程序),也没有运行任何javascript来选择元素并触发本机事件(根据我的理解,React.Event#onmouseenter
是一个综合事件)。我宁愿以某种方式触发它,即使使用React.getComponent($0).handleMouseEnter(new Event(....))
。
答案 0 :(得分:1)
您应该使用React Developer Tools代替Chrome或React Developer Tools for Firefox。
在开发React Components时非常有用。
答案 1 :(得分:0)
您可以使用ReactDOM's findDOMNode方法获取React组件的基础DOM节点。
对于调试来说,这是一个不错的选择,但通常你应该遵循React文档中的建议:
在大多数情况下,您可以将引用附加到DOM节点,并且完全避免使用findDOMNode。