Dashboard sipadu mbip
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Reference.js 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import _extends from "@babel/runtime/helpers/extends";
  2. import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
  3. import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
  4. import _defineProperty from "@babel/runtime/helpers/defineProperty";
  5. import * as React from 'react';
  6. import warning from 'warning';
  7. import { ManagerReferenceNodeSetterContext } from './Manager';
  8. import { safeInvoke, unwrapArray, setRef } from './utils';
  9. var InnerReference =
  10. /*#__PURE__*/
  11. function (_React$Component) {
  12. _inheritsLoose(InnerReference, _React$Component);
  13. function InnerReference() {
  14. var _this;
  15. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  16. args[_key] = arguments[_key];
  17. }
  18. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  19. _defineProperty(_assertThisInitialized(_this), "refHandler", function (node) {
  20. setRef(_this.props.innerRef, node);
  21. safeInvoke(_this.props.setReferenceNode, node);
  22. });
  23. return _this;
  24. }
  25. var _proto = InnerReference.prototype;
  26. _proto.componentWillUnmount = function componentWillUnmount() {
  27. setRef(this.props.innerRef, null);
  28. };
  29. _proto.render = function render() {
  30. warning(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');
  31. return unwrapArray(this.props.children)({
  32. ref: this.refHandler
  33. });
  34. };
  35. return InnerReference;
  36. }(React.Component);
  37. export default function Reference(props) {
  38. return React.createElement(ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {
  39. return React.createElement(InnerReference, _extends({
  40. setReferenceNode: setReferenceNode
  41. }, props));
  42. });
  43. }