React: Devtools ํ™•์žฅ์€ ๋กœ์ปฌ ํŒŒ์ผ์˜ ์š”์†Œ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 09์›” 29์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/react

๊ธฐ๋Šฅ ์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ๋ณด๊ณ  ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ณค์ถฉ

ํ˜„์žฌ ํ–‰๋™์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๋กœ์ปฌ ํŒŒ์ผ์ด๋กœ๋“œ๋˜๋ฉด devtools ํ™•์žฅ์ด devtools์— ํŒจ๋„์„ ํ‘œ์‹œํ•˜์ง€๋งŒ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๋ˆ„๋ฝ๋ฉ๋‹ˆ๋‹ค. ์ฝ˜์†” ๊ฒฝ๊ณ  ๋˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜์ง€๋งŒ์ด ๊ฒฝ์šฐ์—๋Š” ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋ฌธ์„œ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋™์ž‘์ด ๋ฒ„๊ทธ ์ธ ๊ฒฝ์šฐ ์žฌํ˜„ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๊ฐ€๋Šฅํ•˜๋ฉด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ๋ฐ๋ชจ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. ์•„๋ž˜์— JSFiddle (https://jsfiddle.net/Luktwrdm/) ๋˜๋Š” CodeSandbox (https://codesandbox.io/s/new) ์˜ˆ์ œ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋ถ™์—ฌ ๋„ฃ์œผ์‹ญ์‹œ์˜ค.

  1. index.html ๋„ฃ์œผ์„ธ์š”.
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello World</title>
    <script src="https://unpkg.com/[email protected]/umd/react.development.js"></script>
    <script src="https://unpkg.com/[email protected]/umd/react-dom.development.js"></script>
  </head>
  <body>
    <div id="root"></div>
    <script type="text/babel">
      function HelloWorld() {
        return React.createElement("h1", null, "Hello, world!");
      }
      ReactDOM.render(
        React.createElement(HelloWorld, null),
        document.getElementById("root")
      );
    </script>
  </body>
</html>
  1. React devtools ํ™•์žฅ์„ ์„ค์น˜ํ•˜๊ณ  ๋กœ์ปฌ ํŒŒ์ผ URL์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ํ—ˆ์šฉ
  2. index.html ์—ด๊ธฐ
  3. devtools ์—ด๊ธฐ
  4. ๊ตฌ์„ฑ ์š”์†Œ ํŒจ๋„ ์—ด๊ธฐ

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
Hello ์š”์†Œ๋Š” ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ํ˜ธ์ŠคํŠธ ์œ ํ˜•์ด ์„ค์ •์—์„œ ์ˆจ๊ฒจ์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ Hello ๋ฐ h1์ด ๋ชจ๋‘ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฒ„์ „์˜ React์™€ ์–ด๋–ค ๋ธŒ๋ผ์šฐ์ € / OS๊ฐ€์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๊นŒ?

  • Unpkg CDN์˜ React / ReactDOM 16.10.1 UMD
  • React Developer Tools (Chrome ํ™•์žฅ) 4.1.2
  • ํฌ๋กฌ 77.0.3865.90
  • macOS 10.14.6
Developer Tools Bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

chrome.devtools.inspectedWindow.eval ๋˜์ง€๊ธฐ :

DOMException : '์ฐฝ'์—์„œ 'postMessage'๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. 'postMessage'ํ˜ธ์ถœ์—์„œ ์œ ํšจํ•˜์ง€ ์•Š์€ ๋Œ€์ƒ ์›๋ณธ 'null'.

# 16900์œผ๋กœ ์ธํ•œ ํšŒ๊ท€์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปค๋ฐ‹์„ ๋˜ ๋Œ๋ฆฌ๋ฉด DevTools๊ฐ€ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

cc @linshunghuang

๋ชจ๋“  3 ๋Œ“๊ธ€

chrome.devtools.inspectedWindow.eval ๋˜์ง€๊ธฐ :

DOMException : '์ฐฝ'์—์„œ 'postMessage'๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. 'postMessage'ํ˜ธ์ถœ์—์„œ ์œ ํšจํ•˜์ง€ ์•Š์€ ๋Œ€์ƒ ์›๋ณธ 'null'.

# 16900์œผ๋กœ ์ธํ•œ ํšŒ๊ท€์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปค๋ฐ‹์„ ๋˜ ๋Œ๋ฆฌ๋ฉด DevTools๊ฐ€ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

cc @linshunghuang

๋„ค, ํ™•์‹คํžˆ ๊ทธ ๋ณ€ํ™” ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ ์—” origin์ด ๋กœ์ปฌ ํŒŒ์ผ์— ๋Œ€ํ•ด null์ด๊ธฐ ๋•Œ๋ฌธ์— postMessage ๋Œ€์ƒ์„ window.origin์—์„œ '*'๋กœ ๋ณ€๊ฒฝํ•ด์•ผํ• ๊นŒ์š”?

์ด ๋ฌธ์ œ๋Š” # 16953์„ ํ†ตํ•ด ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ ์˜ค๋Š˜ (4.1.3) ์ˆ˜์ • ๋œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฆด๋ฆฌ์Šค ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰