2016-12-19 13 views

Odpowiedz

7

W języku JavaScript można uzyskać nazwę klasy za pomocą instance.constructor.name.

class Demo extends React.Component { 
    componentDidMount(){ 
     console.log(this.constructor.name); // "Demo" 
    } 
} 

Dla komponentów JSX można użyć instance.type.displayName. Na przykład:

let text = <Text></Text>; 
console.log(text.type.displayName) // "Text" 
+0

Dziękuję Martinarroyo, powyższy kod działa dla mnie. Również chcę uzyskać nazwę łańcuchową metody render na rekordy "onPress" Button po każdym naciśnięciu przycisku. Czy możesz pomóc mi uzyskać to samo? – Akhi

+0

Co dokładnie masz na myśli? Czy chcesz zalogować 'this.constructor.name' wewnątrz wywołania zwrotnego onPress? Powinien być zasadniczo taki sam. Na przykład: '

+5

Czy to nie pęknie, gdy kod JS zostanie "zbudowany"? Nazwy klas stają się symbolami, więc jeśli polegasz na 'this.constructor.name' dla czegoś ważnego, prawdopodobnie się to nie powiedzie. – SuitedSloth

Powiązane problemy