From f6a79d1f1607fb5e50904b143edcf3801144d2ce Mon Sep 17 00:00:00 2001 From: Brandon Dail Date: Tue, 3 Oct 2017 10:23:59 -0700 Subject: [PATCH] Only define MyElement when needed (#11069) --- .../fixtures/custom-elements/index.js | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/fixtures/dom/src/components/fixtures/custom-elements/index.js b/fixtures/dom/src/components/fixtures/custom-elements/index.js index 145592269c..383894c685 100644 --- a/fixtures/dom/src/components/fixtures/custom-elements/index.js +++ b/fixtures/dom/src/components/fixtures/custom-elements/index.js @@ -12,24 +12,23 @@ class HelloWorld extends React.Component { } } -// Babel breaks web components. -// https://github.com/w3c/webcomponents/issues/587 -// eslint-disable-next-line no-new-func -const MyElement = new Function( - 'React', - 'ReactDOM', - 'HelloWorld', - ` -return class MyElement extends HTMLElement { - constructor() { - super(); - const shadowRoot = this.attachShadow({ mode:'open' }); - ReactDOM.render(React.createElement(HelloWorld), shadowRoot); - } -}` -)(React, ReactDOM, HelloWorld); - if (supportsCustomElements) { + // Babel breaks web components. + // https://github.com/w3c/webcomponents/issues/587 + // eslint-disable-next-line no-new-func + const MyElement = new Function( + 'React', + 'ReactDOM', + 'HelloWorld', + ` + return class MyElement extends HTMLElement { + constructor() { + super(); + const shadowRoot = this.attachShadow({ mode:'open' }); + ReactDOM.render(React.createElement(HelloWorld), shadowRoot); + } + }` + )(React, ReactDOM, HelloWorld); customElements.define('my-element', MyElement); }