@fruits-chain/react-native-xiaoshu
Version:
React Native UI library
35 lines (26 loc) • 1.05 kB
JavaScript
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
/* eslint-disable @typescript-eslint/explicit-member-accessibility */
/* eslint-disable @typescript-eslint/consistent-type-definitions */
import { Component } from 'react';
export default class PortalConsumer extends Component {
constructor() {
super(...arguments);
_defineProperty(this, "_key", void 0);
}
componentDidMount() {
if (!this.props.manager) {
throw new Error('Looks like you forgot to wrap your root component with `Provider` component from `react-native-xiaoshu`.\n\n');
}
this._key = this.props.manager.mount(this.props.children);
}
componentDidUpdate() {
this.props.manager.update(this._key, this.props.children);
}
componentWillUnmount() {
this.props.manager.unmount(this._key);
}
render() {
return null;
}
}
//# sourceMappingURL=portal-consumer.js.map