React-devtools: λͺ¨λ“  λ…Έλ“œ ν™•μž₯

에 λ§Œλ“  2016λ…„ 03μ›” 18일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: facebook/react-devtools

기본적으둜 개발 λ„κ΅¬λŠ” λͺ¨λ“  것을 μΆ•μ†Œν•©λ‹ˆλ‹€. 그리고 κ³„μ†ν•΄μ„œ ν•˜λ‚˜μ”© ν™•μž₯ν•΄μ•Ό ν•˜λŠ” λ²ˆκ±°λ‘œμ›€λ„ 있고, λ‹€ ν™•μž₯ν•  방법도 μ—†μŠ΅λ‹ˆλ‹€.

맀우 μ§€λ£¨ν•˜κΈ° λ•Œλ¬Έμ— μ‹€μ œλ‘œ 무언가λ₯Ό λ†“μΉ˜κ³  μžˆμ„ 수 있으며, λ¬Έμ œμ— λŒ€ν•œ μ˜ˆλΉ„ κ²€μƒ‰μ—μ„œ 그와 κ΄€λ ¨λœ κ²°κ³Όκ°€ λ‚˜μ˜€μ§€ μ•ŠλŠ”λ‹€λŠ” 사싀에 λ†€λžμŠ΅λ‹ˆλ‹€.

ν‘œμ‹œλœ λ…Έλ“œμ— λŒ€ν•΄ "λͺ¨λ‘ ν™•μž₯"κ³Ό μžλ™ ν™•μž₯ μ˜΅μ…˜μ„ κ³ λ €ν•˜μ‹­μ‹œμ˜€. λ•Œλ‘œλŠ” μžλ™ ν™•μž₯을 μ›ν•˜κ³  λ•Œλ‘œλŠ” λ²”μœ„μ— μžˆλŠ” 트리 및 루트 λ…Έλ“œμ˜ 크기에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μžλ™ ν™•μž₯ κΈ°λŠ₯이 있으면 큰 도움이 λ©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@spicyj λŠ” λ‹€μŒ

큰 λ‚˜λ¬΄κ°€ μžˆλŠ” νŽ˜μ΄μ§€(예: Facebook)μ—μ„œλŠ” μ‰½κ²Œ μ—„μ²­λ‚˜κ²Œ 컀질 수 있기 λ•Œλ¬Έμ— 이 μž‘μ—…μ„ κ³„νšν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

이것이 어리석은 질문이라면(μ €λŠ” Reactλ₯Ό 처음 μ ‘ν•©λ‹ˆλ‹€), μ›λž˜ ν¬μŠ€ν„°κ°€ 이미 μ œμ•ˆν•˜μ§€ μ•Šμ•˜κ±°λ‚˜ 적어도 큰 λ‚˜λ¬΄κ°€ μžˆλŠ” νŽ˜μ΄μ§€μ—μ„œ μ„±λŠ₯ 문제λ₯Ό ν”Όν•˜λ©΄μ„œ 이 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 방법을 μ•”μ‹œ ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄ μš©μ„œν•΄ μ£Όμ‹­μ‹œμ˜€. κ·ΈλŠ” λ§ν–ˆλ‹€ :

[...] μžλ™ ν™•μž₯ μ˜΅μ…˜λ„ κ³ λ €ν•˜μ‹­μ‹œμ˜€. λ•Œλ‘œλŠ” μžλ™ ν™•μž₯을 μ›ν•˜κ³  λ•Œλ‘œλŠ” λ²”μœ„μ— μžˆλŠ” 트리 및 루트 λ…Έλ“œμ˜ 크기에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ κ°„λ‹¨ν•œ μ†”λ£¨μ…˜μ€ νŠΈλ¦¬κ°€ μžλ™ ν™•μž₯이 ν—ˆμš© κ°€λŠ₯ν•œ μ„±λŠ₯으둜 μž‘λ™ν•˜κΈ°μ— μΆ©λΆ„νžˆ μž‘μ€μ§€ 여뢀에 따라 μ‚¬μš© μ„€λͺ…μ„œμ—μ„œ ν™œμ„±ν™” λ˜λŠ” λΉ„ν™œμ„±ν™”ν•˜λŠ” μ˜΅μ…˜μ΄ 될 κ²ƒμž…λ‹ˆλ‹€. λ¬Όλ‘ , μ‚¬μš©μžλŠ” μž‘μ€ λ‚˜λ¬΄κ°€ μžˆλŠ” μ‚¬μ΄νŠΈμ— λŒ€ν•΄ 이 κΈ°λŠ₯을 ν™œμ„±ν™”ν•œ λ‹€μŒ 큰 λ‚˜λ¬΄κ°€ μžˆλŠ” λ‹€λ₯Έ μ‚¬μ΄νŠΈλ‘œ μ „ν™˜ν•˜μ—¬ λΈŒλΌμš°μ €(λ˜λŠ” 적어도 νƒ­)κ°€ μ€‘λ‹¨λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것에 λŒ€ν•΄ λ°©μ–΄ν•˜λŠ” 것은 κ½€ 쉽지 μ•Šμ„κΉŒμš”? κ²°ν•©ν•  μˆ˜λ„ μžˆλŠ” λͺ‡ 가지 μ ‘κ·Ό 방식을 생각할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μ΅œλŒ€ 깊이둜 μ œν•œν•©λ‹ˆλ‹€. (μ’‹μ•„, μ–•κ³  맀우 넓은 λ‚˜λ¬΄κ°€ μžˆλŠ” 경우 항상 μž‘λ™ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.)
  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μ΅œλŒ€ 총 λ…Έλ“œ 수둜 μ œν•œν•©λ‹ˆλ‹€. λ…Έλ“œ μžλ™ ν™•μž₯으둜 인해 ν‘œμ‹œλ˜λŠ” λ…Έλ“œμ˜ 총 μˆ˜κ°€ ν•΄λ‹Ή μž„κ³„κ°’μ„ μ΄ˆκ³Όν•˜λŠ” 경우 μžλ™ ν™•μž₯을 μ€‘μ§€ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.
  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μƒμœ„ ν•­λͺ©λ‹Ή μ΅œλŒ€ λ…Έλ“œ 수둜 μ œν•œν•©λ‹ˆλ‹€. (μœ„μ™€ μœ μ‚¬ν•˜μ§€λ§Œ λ…Έλ“œλ‹Ή μ œν•œμ΄ μžˆμŠ΅λ‹ˆλ‹€.)
  • κ³ μ •λœ μ‹œκ°„ μž„κ³„κ°’ λ‚΄μ—μ„œ κ°€λŠ₯ν•œ ν•œ λ§Žμ€ λ…Έλ“œλ₯Ό μžλ™ ν™•μž₯ν•©λ‹ˆλ‹€.

이 κΈ°λŠ₯을 κ΅¬ν˜„ν•  수 μžˆλŠ”μ§€ λ‹€μ‹œ 생각해 λ³Ό 수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€. μ ‘νžŒ 루트 ꡬ성 μš”μ†Œλ§Œ λ³΄μ—¬μ£ΌλŠ” κΈ°λ³Έ λ³΄κΈ°λŠ” μ‹€μ œλ‘œ 그닀지 μœ μš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 비ꡐλ₯Ό μœ„ν•΄ 기본적으둜 μš”μ†Œ νƒ­μ˜ νŠΈλ¦¬κ°€ μžλ™μœΌλ‘œ ν™•μž₯λ˜λ―€λ‘œ 루트 <html> μš”μ†Œκ°€ ν™•μž₯될 뿐만 μ•„λ‹ˆλΌ <body> μ•„λž˜μ˜ μ΅œμƒμœ„ μˆ˜μ€€λ„ ν‘œμ‹œλ©λ‹ˆλ‹€.

Elements νŒ¨λ„μ—μ„œ λ…Έλ“œλ₯Ό μ„ νƒν•˜κ³  React νŒ¨λ„λ‘œ μ „ν™˜ν•˜λ©΄ ν•΄λ‹Ή ꡬ성 μš”μ†Œκ°€ μžλ™μœΌλ‘œ κ°•μ‘° ν‘œμ‹œλ©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€, 이것은 맀우 μœ μš©ν•œ νŒμž…λ‹ˆλ‹€! κ·ΈλŸ¬λ‚˜ νŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ λ‘œλ“œν•  λ•Œλ§ˆλ‹€ μš”μ†Œ νƒ­μœΌλ‘œ μ „ν™˜ν•˜κ³  λ‹€μ‹œ React둜 μ „ν™˜ν•΄μ•Ό ν•˜λŠ” 것은 μ—¬μ „νžˆ β€‹β€‹λ§€μš° λΆˆνŽΈν•©λ‹ˆλ‹€(개발 쀑에 맀우 자주 λ°œμƒν•¨).

λͺ¨λ“  3 λŒ“κΈ€

큰 λ‚˜λ¬΄κ°€ μžˆλŠ” νŽ˜μ΄μ§€(예: Facebook)μ—μ„œλŠ” μ‰½κ²Œ μ—„μ²­λ‚˜κ²Œ 컀질 수 있기 λ•Œλ¬Έμ— 이 μž‘μ—…μ„ κ³„νšν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. Elements νŒ¨λ„μ—μ„œ λ…Έλ“œλ₯Ό μ„ νƒν•˜κ³  React νŒ¨λ„λ‘œ μ „ν™˜ν•˜λ©΄ ν•΄λ‹Ή ꡬ성 μš”μ†Œκ°€ μžλ™μœΌλ‘œ κ°•μ‘° ν‘œμ‹œλ©λ‹ˆλ‹€.

도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€!

@spicyj λŠ” λ‹€μŒ

큰 λ‚˜λ¬΄κ°€ μžˆλŠ” νŽ˜μ΄μ§€(예: Facebook)μ—μ„œλŠ” μ‰½κ²Œ μ—„μ²­λ‚˜κ²Œ 컀질 수 있기 λ•Œλ¬Έμ— 이 μž‘μ—…μ„ κ³„νšν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

이것이 어리석은 질문이라면(μ €λŠ” Reactλ₯Ό 처음 μ ‘ν•©λ‹ˆλ‹€), μ›λž˜ ν¬μŠ€ν„°κ°€ 이미 μ œμ•ˆν•˜μ§€ μ•Šμ•˜κ±°λ‚˜ 적어도 큰 λ‚˜λ¬΄κ°€ μžˆλŠ” νŽ˜μ΄μ§€μ—μ„œ μ„±λŠ₯ 문제λ₯Ό ν”Όν•˜λ©΄μ„œ 이 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 방법을 μ•”μ‹œ ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄ μš©μ„œν•΄ μ£Όμ‹­μ‹œμ˜€. κ·ΈλŠ” λ§ν–ˆλ‹€ :

[...] μžλ™ ν™•μž₯ μ˜΅μ…˜λ„ κ³ λ €ν•˜μ‹­μ‹œμ˜€. λ•Œλ‘œλŠ” μžλ™ ν™•μž₯을 μ›ν•˜κ³  λ•Œλ‘œλŠ” λ²”μœ„μ— μžˆλŠ” 트리 및 루트 λ…Έλ“œμ˜ 크기에 μ˜μ‘΄ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ κ°„λ‹¨ν•œ μ†”λ£¨μ…˜μ€ νŠΈλ¦¬κ°€ μžλ™ ν™•μž₯이 ν—ˆμš© κ°€λŠ₯ν•œ μ„±λŠ₯으둜 μž‘λ™ν•˜κΈ°μ— μΆ©λΆ„νžˆ μž‘μ€μ§€ 여뢀에 따라 μ‚¬μš© μ„€λͺ…μ„œμ—μ„œ ν™œμ„±ν™” λ˜λŠ” λΉ„ν™œμ„±ν™”ν•˜λŠ” μ˜΅μ…˜μ΄ 될 κ²ƒμž…λ‹ˆλ‹€. λ¬Όλ‘ , μ‚¬μš©μžλŠ” μž‘μ€ λ‚˜λ¬΄κ°€ μžˆλŠ” μ‚¬μ΄νŠΈμ— λŒ€ν•΄ 이 κΈ°λŠ₯을 ν™œμ„±ν™”ν•œ λ‹€μŒ 큰 λ‚˜λ¬΄κ°€ μžˆλŠ” λ‹€λ₯Έ μ‚¬μ΄νŠΈλ‘œ μ „ν™˜ν•˜μ—¬ λΈŒλΌμš°μ €(λ˜λŠ” 적어도 νƒ­)κ°€ μ€‘λ‹¨λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것에 λŒ€ν•΄ λ°©μ–΄ν•˜λŠ” 것은 κ½€ 쉽지 μ•Šμ„κΉŒμš”? κ²°ν•©ν•  μˆ˜λ„ μžˆλŠ” λͺ‡ 가지 μ ‘κ·Ό 방식을 생각할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μ΅œλŒ€ 깊이둜 μ œν•œν•©λ‹ˆλ‹€. (μ’‹μ•„, μ–•κ³  맀우 넓은 λ‚˜λ¬΄κ°€ μžˆλŠ” 경우 항상 μž‘λ™ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.)
  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μ΅œλŒ€ 총 λ…Έλ“œ 수둜 μ œν•œν•©λ‹ˆλ‹€. λ…Έλ“œ μžλ™ ν™•μž₯으둜 인해 ν‘œμ‹œλ˜λŠ” λ…Έλ“œμ˜ 총 μˆ˜κ°€ ν•΄λ‹Ή μž„κ³„κ°’μ„ μ΄ˆκ³Όν•˜λŠ” 경우 μžλ™ ν™•μž₯을 μ€‘μ§€ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.
  • μžλ™ ν™•μž₯ κΈ°λŠ₯을 μƒμœ„ ν•­λͺ©λ‹Ή μ΅œλŒ€ λ…Έλ“œ 수둜 μ œν•œν•©λ‹ˆλ‹€. (μœ„μ™€ μœ μ‚¬ν•˜μ§€λ§Œ λ…Έλ“œλ‹Ή μ œν•œμ΄ μžˆμŠ΅λ‹ˆλ‹€.)
  • κ³ μ •λœ μ‹œκ°„ μž„κ³„κ°’ λ‚΄μ—μ„œ κ°€λŠ₯ν•œ ν•œ λ§Žμ€ λ…Έλ“œλ₯Ό μžλ™ ν™•μž₯ν•©λ‹ˆλ‹€.

이 κΈ°λŠ₯을 κ΅¬ν˜„ν•  수 μžˆλŠ”μ§€ λ‹€μ‹œ 생각해 λ³Ό 수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€. μ ‘νžŒ 루트 ꡬ성 μš”μ†Œλ§Œ λ³΄μ—¬μ£ΌλŠ” κΈ°λ³Έ λ³΄κΈ°λŠ” μ‹€μ œλ‘œ 그닀지 μœ μš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 비ꡐλ₯Ό μœ„ν•΄ 기본적으둜 μš”μ†Œ νƒ­μ˜ νŠΈλ¦¬κ°€ μžλ™μœΌλ‘œ ν™•μž₯λ˜λ―€λ‘œ 루트 <html> μš”μ†Œκ°€ ν™•μž₯될 뿐만 μ•„λ‹ˆλΌ <body> μ•„λž˜μ˜ μ΅œμƒμœ„ μˆ˜μ€€λ„ ν‘œμ‹œλ©λ‹ˆλ‹€.

Elements νŒ¨λ„μ—μ„œ λ…Έλ“œλ₯Ό μ„ νƒν•˜κ³  React νŒ¨λ„λ‘œ μ „ν™˜ν•˜λ©΄ ν•΄λ‹Ή ꡬ성 μš”μ†Œκ°€ μžλ™μœΌλ‘œ κ°•μ‘° ν‘œμ‹œλ©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€, 이것은 맀우 μœ μš©ν•œ νŒμž…λ‹ˆλ‹€! κ·ΈλŸ¬λ‚˜ νŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ λ‘œλ“œν•  λ•Œλ§ˆλ‹€ μš”μ†Œ νƒ­μœΌλ‘œ μ „ν™˜ν•˜κ³  λ‹€μ‹œ React둜 μ „ν™˜ν•΄μ•Ό ν•˜λŠ” 것은 μ—¬μ „νžˆ β€‹β€‹λ§€μš° λΆˆνŽΈν•©λ‹ˆλ‹€(개발 쀑에 맀우 자주 λ°œμƒν•¨).

이 λͺ¨λ“  ν™•μž₯ κΈ°λŠ₯은 λ‹€μŒκ³Ό 같이 κ΅¬ν˜„ 및 λ³‘ν•©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
https://github.com/facebook/react-devtools/issues/591
https://github.com/facebook/react-devtools/pull/621
ν‚€:
λͺ¨λ‘ ν™•μž₯ν•˜λ €λ©΄ Alt+였λ₯Έμͺ½ ν™”μ‚΄ν‘œ
λͺ¨λ‘ μΆ•μ†Œν•˜λ €λ©΄ Alt+μ™Όμͺ½ ν™”μ‚΄ν‘œ

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰