Adds support for passing component type or element to PreviewContent, supports React.forwardRef (#1248)

This commit is contained in:
Daniel Mahon
2018-05-14 13:36:55 -04:00
committed by Shawn Erquhart
parent 7cdc73b914
commit 40494a4e43
6 changed files with 27 additions and 1468 deletions

View File

@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
import { isElement } from 'react-is';
import { ScrollSyncPane } from 'react-scroll-sync';
/**
@ -12,7 +13,9 @@ class PreviewContent extends React.Component {
const { previewComponent, previewProps } = this.props;
return (
<ScrollSyncPane attachTo={this.context.document.scrollingElement}>
{React.createElement(previewComponent, previewProps)}
{isElement(previewComponent)
? React.cloneElement(previewComponent, previewProps)
: React.createElement(previewComponent, previewProps)}
</ScrollSyncPane>
);
}