piral-react
Version:
Plugin for integrating React 16+ components in Piral.
28 lines • 867 B
JavaScript
import { render } from 'react-dom';
import { createElement, Component } from 'react';
// tslint:disable-next-line:no-null-keyword
export const anyPropType = () => null;
export function mountReact(el, root, props, ctx = {}) {
const contextTypes = {};
['piral', ...Object.keys(ctx)].forEach((key) => {
contextTypes[key] = anyPropType;
});
class Provider extends Component {
getChildContext() {
return {
piral: props.piral,
...ctx,
};
}
render() {
return this.props.children;
}
}
Provider.childContextTypes = contextTypes;
render(createElement(Provider, {}, createElement(root, props)), el);
}
export function unmountReact(el) {
// tslint:disable-next-line:no-null-keyword
render(null, el);
}
//# sourceMappingURL=mount.js.map