react-component-isolator
Version:
A simple module that spins up a react app where the only component is the react component you pass in.
45 lines (37 loc) • 885 B
JavaScript
import initProps from './props';
/* eslint-disable react/no-multi-comp */
// Test state getters/setters
let embedMetadataOnPage;
let embeddedMetadata = {};
const newEmbeddedMetadata = (data) => {
embeddedMetadata = data;
if (embedMetadataOnPage) {
embedMetadataOnPage();
}
};
// Initialize props
const props = initProps(newEmbeddedMetadata);
class EmbeddedMetadata extends Component {
constructor(p) {
super(p);
embedMetadataOnPage = this.forceUpdate.bind(this);
}
render() {
return (
<pre style={{ display: 'none' }} id="embedded-metadata">
{JSON.stringify(embeddedMetadata)}
</pre>
);
}
}
class Container extends Component {
render() {
return (
<div>
<EmbeddedMetadata />
<ComponentToTest {...props} />
</div>
);
}
}
ReactDOM.render(<Container />, document.getElementById('root'));