React-devtools: рдЧреБрдо рдШрдЯрдХ рдирд╛рдо

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рдЬрдире░ 2014  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/react-devtools

рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдШрдЯрдХ рдирд╛рдо рд╣рдореЗрд╢рд╛ "рдЕрдЬреНрдЮрд╛рдд" рд╣реЛрддреЗ рд╣реИрдВ?

рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ browserify рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
image

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдХреНрд░реЛрдо рдкреНрд▓рдЧрдЗрди React Developer Tools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдореИрдВ рд░рд┐рдПрдХреНрдЯ рдЯреНрд░реА рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп 'рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдкреЛрдиреЗрдВрдЯ' рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдПрдХ webpack рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВрдиреЗ 'рдбрд┐рд╕реНрдкреНрд▓реЗрдирд╛рдо' рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЙрд╕рдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдХреЛрдИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ?

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдареАрдХ рд╣реИ, рдпрд╣рд╛рдВ рддреНрд╡рд░рд┐рдд рдЕрдкрдбреЗрдЯ рд╣реИ: рдпрджрд┐ рдШрдЯрдХ рдЗрд╕ рддрд░рд╣ рдЙрдЬрд╛рдЧрд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ Unknown :

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

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ:

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

рдореИрдВрдиреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ рдХрд┐ tagName рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк JSX рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ displayName рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреАред

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

рдпрджрд┐ рдЖрдк JSX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдЕрдиреНрдпрдерд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдВ, рдореИрдВ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рддреЛ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИ - рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ displayName рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдШрдЯрдХ exports.ComponentName = React.createClass() рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рд╣реИ: https://github.com/facebook/react/blob/master/vendor/fbtransform/transforms/reactDisplayName.js#L37

JSX рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╣рдо ES6 рдХрдХреНрд╖рд╛рдУрдВ рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЯреИрдЧрдирд╛рдо рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ DOM рдШрдЯрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдбрд┐рд╕реНрдкреНрд▓реЗрдирд╛рдо рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдк рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рд╛рд░реВрдк рдпрд╣рд╛рдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

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

рд╕рдордЭ рдЧрдпрд╛ рдзрдиреНрдпрд╡рд╛рджред рдореИрдиреБрдЕрд▓ displayName рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдмрд╕ рдмрдирд╛рдпрд╛ https://github.com/facebook/react/pull/799 рдЬреЛ рдЗрд╕реЗ рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдХреНрд░реЛрдо рдкреНрд▓рдЧрдЗрди React Developer Tools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдореИрдВ рд░рд┐рдПрдХреНрдЯ рдЯреНрд░реА рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп 'рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдкреЛрдиреЗрдВрдЯ' рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдПрдХ webpack рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВрдиреЗ 'рдбрд┐рд╕реНрдкреНрд▓реЗрдирд╛рдо' рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЙрд╕рдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдХреЛрдИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mmahalwy picture mmahalwy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jerikson picture jerikson  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nareshbhatia picture nareshbhatia  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

inoyakaigor picture inoyakaigor  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Bnaya picture Bnaya  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ