diff --git a/packages/react-dom/src/client/ReactDOMFiberComponent.js b/packages/react-dom/src/client/ReactDOMFiberComponent.js index bad296429e43..df92cc38c802 100644 --- a/packages/react-dom/src/client/ReactDOMFiberComponent.js +++ b/packages/react-dom/src/client/ReactDOMFiberComponent.js @@ -378,6 +378,12 @@ export function createElement( // See discussion in https://github.com/facebook/react/pull/6896 // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240 domElement = ownerDocument.createElement(type); + // Make sure that `select` has `multiple` attribute set to appropriate state before appending options + // To prevent first option be initialy made selected + // see more details in https://github.com/facebook/react/issues/13222 + if (type === 'select' && !!props.multiple) { + domElement.setAttribute('multiple', 'true'); + } } } else { domElement = ownerDocument.createElementNS(namespaceURI, type);