是否有一个等效于Angular(1)的angular.element的React

时间:2017-03-20 21:15:23

标签: javascript reactjs

在调试或添加功能测试时,有时更容易在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(....))

2 个答案:

答案 0 :(得分:1)

您应该使用React Developer Tools代替Chrome或React Developer Tools for Firefox

在开发React Components时非常有用。

答案 1 :(得分:0)

您可以使用ReactDOM's findDOMNode方法获取React组件的基础DOM节点。

对于调试来说,这是一个不错的选择,但通常你应该遵循React文档中的建议:

  

在大多数情况下,您可以将引用附加到DOM节点,并且完全避免使用findDOMNode。