diff --git a/packages/react-native/Libraries/Text/Text.js b/packages/react-native/Libraries/Text/Text.js index 807b1c73d165e7..269e5b125a1a2c 100644 --- a/packages/react-native/Libraries/Text/Text.js +++ b/packages/react-native/Libraries/Text/Text.js @@ -223,25 +223,29 @@ const TextLegacy: React.AbstractComponent< } let _selectable = selectable; - const processedStyle = flattenStyle(_style); + let processedStyle = flattenStyle(_style); if (processedStyle != null) { + const overrideStyle = null; if (typeof processedStyle.fontWeight === 'number') { - // $FlowFixMe[cannot-write] - processedStyle.fontWeight = processedStyle.fontWeight.toString(); + overrideStyle = overrideStyle ?? {}; + overrideStyle.fontWeight = processedStyle.fontWeight.toString(); } if (processedStyle.userSelect != null) { _selectable = userSelectToSelectableMap[processedStyle.userSelect]; - // $FlowFixMe[cannot-write] - delete processedStyle.userSelect; + overrideStyle = overrideStyle ?? {}; + overrideStyle.userSelect = undefined; } if (processedStyle.verticalAlign != null) { // $FlowFixMe[cannot-write] - processedStyle.textAlignVertical = + overrideStyle.textAlignVertical = verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign]; - // $FlowFixMe[cannot-write] - delete processedStyle.verticalAlign; + overrideStyle.verticalAlign = undefined; + } + + if (overrideStyle != null) { + processedStyle = {...processedStyle, ...overrideStyle}; } }