Gil*_*man 51 google-chrome-devtools reactjs
React Developer Tools提供了很多功能来检查React组件树,并查看道具,事件处理程序等.但是,我真正想做的是能够在浏览器控制台中检查这些数据结构.
在chrome中,我可以使用控制台中当前选定的DOM元素$0.有没有办法从$0React Dev Tools中提取React组件信息,或者是否可以使用React Dev Tools进行类似的操作?
Jür*_*ter 61
使用React Developer Tools,您可以使用它$r来获取对所选React组件的引用.
以下屏幕截图显示了我React Developer Tools用来选择一个Explorer有一个状态对象调用的组件()nodeList.在控制台中,我现在可以简单地编写$r.state.nodeList以在状态中引用此对象.与道具相同的作品(如:$r.props.path)
Lod*_*r28 15
您可以在我问的类似问题中找到您的问题的答案: React - 从DOM元素获取组件以进行调试
我在这里提供一个答案,因为我没有必要的声誉点来标记为重复或在上面评论.
基本上,如果您使用react的开发版本,这是可能的,因为您可以利用TestUtils来实现您的目标.
你只需要做两件事:
所以控制台中的代码可能类似于:
> getComponent($0).props
Run Code Online (Sandbox Code Playgroud)
getComponent的实现可以用来React.addons.TestUtils.findAllInRenderedTree通过在所有找到的组件上调用getDOMNode并匹配传入的元素来搜索匹配.
小智 8
打开控制台(Firefox、Chrome)并定位任何 reactjs 渲染的 DOM 元素或执行 js 脚本来定位它:
document.getElementById('ROOT')
Run Code Online (Sandbox Code Playgroud)
然后在对象属性查看器中检查元素属性,以获取名称以“__reactInternalInstace$....”开头的属性,展开 _DebugOwner 并查看 stateNode。
找到的 stateNode 将包含(如果有)'state' 和 'props' 属性,这些属性在 reactjs 应用程序中被大量使用。
| 归档时间: |
|
| 查看次数: |
48959 次 |
| 最近记录: |