如何获取React Native组件类的字符串名称?

Akh*_*khi 13 react-native

我希望打印类名称与字符串格式在编程反应原生.任何人都可以告诉我,我该怎么做?

mar*_*oyo 18

在JavaScript中,您可以使用获取类的名称instance.constructor.name.

class Demo extends React.Component {
    componentDidMount(){
        console.log(this.constructor.name);  // "Demo"
    }
}
Run Code Online (Sandbox Code Playgroud)

对于JSX组件,您可以使用instance.type.displayName.例如:

let text = <Text></Text>;
console.log(text.type.displayName) // "Text"
Run Code Online (Sandbox Code Playgroud)

  • 当JS代码被"构建"时,这不会中断吗?类名称成为符号,因此如果您依赖`this.constructor.name`来表示重要的事情,那么它很可能会失败. (13认同)
  • 有人有任何解决方案来获取发布模式中的组件类名称(使用发行包)吗?我知道它在调试模式下与`this.constructor.name`一起使用. (2认同)