123456789101112131415161718192021222324252627 |
- import React from 'react';
- export default function forwardRef(renderFn, _ref) {
- var displayName = _ref.displayName,
- propTypes = _ref.propTypes,
- defaultProps = _ref.defaultProps,
- _ref$allowFallback = _ref.allowFallback,
- allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback;
-
- var render = function render(props, ref) {
- return renderFn(props, ref);
- };
-
- Object.assign(render, {
- displayName: displayName
- });
- if (React.forwardRef || !allowFallback) return Object.assign(React.forwardRef(render), {
- propTypes: propTypes,
- defaultProps: defaultProps
- });
- return Object.assign(function (props) {
- return render(props, null);
- }, {
- displayName: displayName,
- propTypes: propTypes,
- defaultProps: defaultProps
- });
- }
|