diff options
Diffstat (limited to 'packages/renderers/renderer-preact/server.js')
-rw-r--r-- | packages/renderers/renderer-preact/server.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/packages/renderers/renderer-preact/server.js b/packages/renderers/renderer-preact/server.js index 8fd4ccf2f..989e2d385 100644 --- a/packages/renderers/renderer-preact/server.js +++ b/packages/renderers/renderer-preact/server.js @@ -1,13 +1,16 @@ -import { h } from 'preact'; +import { h, Component as BaseComponent } from 'preact'; import { renderToString } from 'preact-render-to-string'; import StaticHtml from './static-html.js'; function check(Component, props, children) { - try { - const { html } = renderToStaticMarkup(Component, props, children); - return Boolean(html); - } catch (e) {} - return false; + if(typeof Component !== 'function') return false; + + if(typeof Component.prototype.render === 'function') { + return BaseComponent.isPrototypeOf(Component); + } + + const { html } = renderToStaticMarkup(Component, props, children); + return Boolean(html); } function renderToStaticMarkup(Component, props, children) { |