diff --git a/packages/react/src/jsx/ReactJSXElement.js b/packages/react/src/jsx/ReactJSXElement.js index 6a562ba5e8578..cb475340c9c38 100644 --- a/packages/react/src/jsx/ReactJSXElement.js +++ b/packages/react/src/jsx/ReactJSXElement.js @@ -156,30 +156,9 @@ function elementRefGetterWithDeprecationWarning() { * will not work. Instead test $$typeof field against Symbol.for('react.transitional.element') to check * if something is a React Element. * - * @param {*} type - * @param {*} props - * @param {*} key - * @param {string|object} ref - * @param {*} owner - * @param {*} self A *temporary* helper to detect places where `this` is - * different from the `owner` when React.createElement is called, so that we - * can warn. We want to get rid of owner and replace string `ref`s with arrow - * functions, and as long as `this` and owner are the same, there will be no - * change in behavior. - * @param {*} source An annotation object (added by a transpiler or otherwise) - * indicating filename, line number, and/or other information. * @internal */ -function ReactElement( - type, - key, - self, - source, - owner, - props, - debugStack, - debugTask, -) { +function ReactElement(type, key, props, owner, debugStack, debugTask) { // Ignore whatever was passed as the ref argument and treat `props.ref` as // the source of truth. The only thing we use this for is `element.ref`, // which will log a deprecation warning on access. In the next release, we @@ -348,16 +327,7 @@ export function jsxProd(type, config, maybeKey) { } } - return ReactElement( - type, - key, - undefined, - undefined, - getOwner(), - props, - undefined, - undefined, - ); + return ReactElement(type, key, props, getOwner(), undefined, undefined); } // While `jsxDEV` should never be called when running in production, we do @@ -376,8 +346,6 @@ export function jsxProdSignatureRunningInDevWithDynamicChildren( type, config, maybeKey, - source, - self, ) { if (__DEV__) { const isStaticChildren = false; @@ -389,8 +357,6 @@ export function jsxProdSignatureRunningInDevWithDynamicChildren( config, maybeKey, isStaticChildren, - source, - self, __DEV__ && (trackActualOwner ? Error('react-stack-top-frame') @@ -407,8 +373,6 @@ export function jsxProdSignatureRunningInDevWithStaticChildren( type, config, maybeKey, - source, - self, ) { if (__DEV__) { const isStaticChildren = true; @@ -420,8 +384,6 @@ export function jsxProdSignatureRunningInDevWithStaticChildren( config, maybeKey, isStaticChildren, - source, - self, __DEV__ && (trackActualOwner ? Error('react-stack-top-frame') @@ -442,7 +404,7 @@ const didWarnAboutKeySpread = {}; * @param {object} props * @param {string} key */ -export function jsxDEV(type, config, maybeKey, isStaticChildren, source, self) { +export function jsxDEV(type, config, maybeKey, isStaticChildren) { const trackActualOwner = __DEV__ && ReactSharedInternals.recentlyCreatedOwnerStacks++ < ownerStackLimit; @@ -451,8 +413,6 @@ export function jsxDEV(type, config, maybeKey, isStaticChildren, source, self) { config, maybeKey, isStaticChildren, - source, - self, __DEV__ && (trackActualOwner ? Error('react-stack-top-frame') @@ -469,8 +429,6 @@ function jsxDEVImpl( config, maybeKey, isStaticChildren, - source, - self, debugStack, debugTask, ) { @@ -491,7 +449,7 @@ function jsxDEVImpl( if (isStaticChildren) { if (isArray(children)) { for (let i = 0; i < children.length; i++) { - validateChildKeys(children[i], type); + validateChildKeys(children[i]); } if (Object.freeze) { @@ -505,7 +463,7 @@ function jsxDEVImpl( ); } } else { - validateChildKeys(children, type); + validateChildKeys(children); } } @@ -591,16 +549,7 @@ function jsxDEVImpl( defineKeyPropWarningGetter(props, displayName); } - return ReactElement( - type, - key, - self, - source, - getOwner(), - props, - debugStack, - debugTask, - ); + return ReactElement(type, key, props, getOwner(), debugStack, debugTask); } } @@ -620,7 +569,7 @@ export function createElement(type, config, children) { // prod. (Rendering will throw with a helpful message and as soon as the // type is fixed, the key warnings will appear.) for (let i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], type); + validateChildKeys(arguments[i]); } // Unlike the jsx() runtime, createElement() doesn't warn about key spread. @@ -721,10 +670,8 @@ export function createElement(type, config, children) { return ReactElement( type, key, - undefined, - undefined, - getOwner(), props, + getOwner(), __DEV__ && (trackActualOwner ? Error('react-stack-top-frame') @@ -740,10 +687,8 @@ export function cloneAndReplaceKey(oldElement, newKey) { const clonedElement = ReactElement( oldElement.type, newKey, - undefined, - undefined, - !__DEV__ ? undefined : oldElement._owner, oldElement.props, + !__DEV__ ? undefined : oldElement._owner, __DEV__ && oldElement._debugStack, __DEV__ && oldElement._debugTask, ); @@ -829,16 +774,14 @@ export function cloneElement(element, config, children) { const clonedElement = ReactElement( element.type, key, - undefined, - undefined, - owner, props, + owner, __DEV__ && element._debugStack, __DEV__ && element._debugTask, ); for (let i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], clonedElement.type); + validateChildKeys(arguments[i]); } return clonedElement; @@ -853,10 +796,9 @@ export function cloneElement(element, config, children) { * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ -function validateChildKeys(node, parentType) { +function validateChildKeys(node) { if (__DEV__) { - // With owner stacks is, no warnings happens. All we do is - // mark elements as being in a valid static child position so they + // Mark elements as being in a valid static child position so they // don't need keys. if (isValidElement(node)) { if (node._store) {