jsketcher/web/app/cad/dom/components/ContributedComponents.jsx
2018-02-18 22:09:13 -08:00

29 lines
No EOL
458 B
JavaScript

import React from 'react';
const CONTRIBUTED_COMPONENTS = [];
const mounted = new Set();
export default class ContributedComponents extends React.Component {
componentDidMount() {
mounted.add(this);
}
componentWillUnmount() {
mounted.delete(this);
}
render() {
return CONTRIBUTED_COMPONENTS;
}
}
export function contributeComponent(comp) {
CONTRIBUTED_COMPONENTS.push(comp);
mounted.forEach(c => c.forceUpdate());
}