MCPcopy
hub / github.com/plotly/dash / forwardRef

Function forwardRef

dash/deps/react@18.2.0.js:1457–1506  ·  view source on GitHub ↗
(render)

Source from the content-addressed store, hash-verified

1455 }
1456
1457 function forwardRef(render) {
1458 {
1459 if (render != null && render.$$typeof === REACT_MEMO_TYPE) {
1460 error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');
1461 } else if (typeof render !== 'function') {
1462 error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);
1463 } else {
1464 if (render.length !== 0 && render.length !== 2) {
1465 error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');
1466 }
1467 }
1468
1469 if (render != null) {
1470 if (render.defaultProps != null || render.propTypes != null) {
1471 error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');
1472 }
1473 }
1474 }
1475
1476 var elementType = {
1477 $$typeof: REACT_FORWARD_REF_TYPE,
1478 render: render
1479 };
1480
1481 {
1482 var ownName;
1483 Object.defineProperty(elementType, 'displayName', {
1484 enumerable: false,
1485 configurable: true,
1486 get: function () {
1487 return ownName;
1488 },
1489 set: function (name) {
1490 ownName = name; // The inner component shouldn't inherit this display name in most cases,
1491 // because the component may be used elsewhere.
1492 // But it's nice for anonymous functions to inherit the name,
1493 // so that our component-stack generation logic will display their frames.
1494 // An anonymous function generally suggests a pattern like:
1495 // React.forwardRef((props, ref) => {...});
1496 // This kind of inner function is not used elsewhere so the side effect is okay.
1497
1498 if (!render.name && !render.displayName) {
1499 render.displayName = name;
1500 }
1501 }
1502 });
1503 }
1504
1505 return elementType;
1506 }
1507
1508 var REACT_MODULE_REFERENCE;
1509

Callers 2

Calendar.tsxFile · 0.90

Calls 1

errorFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…