コンポーネント名が常に「不明」である理由はありますか?
念のため、browserifyを使用していますが、ソースは縮小されておらず、連結されているだけです。
外観は次のとおりです。
OK、ここにクイックアップデートがあります:コンポーネントがこのように公開されている場合、名前としてUnknown
があります:
exports.MyComponent = React.createClass({...});
ただし、これに変更すると、機能し始めます。
var MyComponent = React.createClass({...});
exports.MyComponent = MyComponent;
拡張機能のソースコードを確認しましたが、 tagName
とは何で、どのように設定されているのかわかりません。
JSXを使用していない場合は、クラスにdisplayName
属性を追加する必要があります。
var MyComponent = React.createClass({
displayName: 'MyComponent',
...
});
JSXを使用している場合、これは自動的に行われます。 残念ながら、それ以外の方法で入手する方法はありません。
はい、JSXを使用しています。 したがって、別の問題のようです。コンポーネントがexports.ComponentName = React.createClass()
宣言されている場合、JSXコンパイラはdisplayName
提供できません。
これはそれを担当するコードです: https :
JSXは、理論的にはあなたのフォーマットもサポートできます。 ただし、ES6クラスなどに移行すると、この問題は解消されます。
tagNameは、ReactのコアのDOMコンポーネントの一部です。 displayNameはありません。
プルリクエストを送信する場合は、ここに好みの形式を追加できます。
理解しました、ありがとう。 手動displayName
は今のところ機能します。
ChromeプラグインReact Developer Tools
を使用していますが、Reactツリーを調べると、コンポーネントの実際の名前ではなく「プロキシコンポーネント」が表示されます。 webpack
問題である可能性がありますか? 'displayName'を追加しようとしましたが、うまくいきませんでした。
他の誰かがこの問題に遭遇しますか?
最も参考になるコメント
Chromeプラグイン
React Developer Tools
を使用していますが、Reactツリーを調べると、コンポーネントの実際の名前ではなく「プロキシコンポーネント」が表示されます。webpack
問題である可能性がありますか? 'displayName'を追加しようとしましたが、うまくいきませんでした。他の誰かがこの問題に遭遇しますか?