React-devtools: Fehlende Komponentennamen

Erstellt am 3. Jan. 2014  ·  9Kommentare  ·  Quelle: facebook/react-devtools

Gibt es einen Grund, warum Komponentennamen immer "Unbekannt" sind?

Nur für den Fall, dass ich browserify verwende und die Quellen nicht minimiert, sondern nur verkettet werden.

So sieht es aus:
image

Hilfreichster Kommentar

Ich verwende das Chrome-Plugin React Developer Tools und wenn ich den React-Baum inspiziere, sehe ich "Proxy-Komponente" anstelle des tatsächlichen Namens der Komponente. Könnte ein webpack Problem sein? Ich habe versucht, 'displayName' hinzuzufügen, aber das hat nicht funktioniert.

Hat noch jemand dieses Problem?

Alle 9 Kommentare

OK, hier ist ein kurzes Update: Wenn die Komponente so verfügbar gemacht wird, hat sie Unknown als Namen:

exports.MyComponent = React.createClass({...});

Wenn ich es jedoch so ändere, beginnt es zu funktionieren:

var MyComponent = React.createClass({...});
exports.MyComponent = MyComponent;

Ich habe den Quellcode der Erweiterung überprüft, kann aber nicht herausfinden, was tagName und wie es eingestellt ist.

Wenn Sie JSX nicht verwenden, müssen Sie Ihrer Klasse ein displayName Attribut hinzufügen.

var MyComponent = React.createClass({
  displayName: 'MyComponent',
  ...
});

Wenn Sie JSX verwenden, geschieht dies automatisch. Leider gibt es keine Möglichkeit, es anders zu bekommen.

Ja, ich verwende JSX. Es scheint also ein anderes Problem zu sein - der JSX-Compiler kann displayName nicht beitragen, wenn die Komponente mit exports.ComponentName = React.createClass() deklariert wird.

JSX könnte theoretisch auch Ihr Format unterstützen. Dieses Problem verschwindet jedoch, wenn wir zu ES6-Klassen oder ähnlichem wechseln.

Der tagName ist ein Teil der DOM-Komponenten im Kern von React. Es hat kein displayName.

Wenn Sie einen Pull-Request senden möchten, können Sie hier Ihre bevorzugten Formate hinzufügen:

https://github.com/facebook/react/blob/ab47e992155ec9c2455b02bf671e8dd92bd01055/vendor/fbtransform/transforms/reactDisplayName.js#L37 -L51

Verstanden, danke. Manuell displayName wird vorerst funktionieren.

Habe gerade https://github.com/facebook/react/pull/799 erstellt, was dies für alle Fälle beheben sollte, die mir einfallen.

Ich verwende das Chrome-Plugin React Developer Tools und wenn ich den React-Baum inspiziere, sehe ich "Proxy-Komponente" anstelle des tatsächlichen Namens der Komponente. Könnte ein webpack Problem sein? Ich habe versucht, 'displayName' hinzuzufügen, aber das hat nicht funktioniert.

Hat noch jemand dieses Problem?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Riokai picture Riokai  ·  5Kommentare

levani picture levani  ·  4Kommentare

arghasarkar picture arghasarkar  ·  4Kommentare

prasannavl picture prasannavl  ·  3Kommentare

mmahalwy picture mmahalwy  ·  3Kommentare