微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React Native Web 调试中没有组件名称

如何解决React Native Web 调试中没有组件名称

尝试在 Web 浏览器中调试 React Native 时,我看不到任何组件名称。无论是通过标准浏览器 DevTools 还是 React(组件)浏览器扩展,我都没有看到任何对组件名称甚至类名称的引用。

组件名称在 React 扩展中被 ViewAnonymousScreen 等混淆。部分代码是如何使用 React Native 的ViewScreen 组件编写的。但我希望看到最终嵌套的子组件。

enter image description here

CSS 类采用 css-xyz123 格式,似乎与其实际的组件和类名称无关。

enter image description here

有谁知道为什么会发生这种情况或如何让组件名称在 Web 调试中可见?我考虑了几个原因:

  • 组件是如何编写的(功能组件,通常用 Mobx 观察者包装)
  • Babel 编译器设置
  • 其他 minifiction 或 React Native 构建设置

谢谢!

解决方法

像“Anonymous (ForwardRef)”这样的组件名称意味着您的源代码可能看起来像这样:

<div>

传递给 const Component = React.forwardRef((props,ref) => {...}); 的函数是一个匿名函数,因此没有可供 DevTools 读取的名称。 (请注意,对于内置浏览器工具也是如此。)

要“修复”此问题,您可以使用命名函数。有两种选择:

forwardRef

或者:

const Component = React.forwardRef(function MyComponent(props,ref) {...});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。