19 lines
462 B
JavaScript
19 lines
462 B
JavaScript
import ReactDOM from 'react-dom';
|
|
import { Disposable, Observable } from 'rx';
|
|
|
|
export default function render(Component, DOMContainer) {
|
|
return Observable.create(observer => {
|
|
try {
|
|
ReactDOM.render(Component, DOMContainer, function() {
|
|
observer.onNext(this);
|
|
});
|
|
} catch (e) {
|
|
return observer.onError(e);
|
|
}
|
|
|
|
return Disposable.create(() => {
|
|
return ReactDOM.unmountComponentAtNode(DOMContainer);
|
|
});
|
|
});
|
|
}
|