From dcc854bcc3c940ca583565ce25200ca618c05bf0 Mon Sep 17 00:00:00 2001 From: Airam Date: Sat, 28 Apr 2018 21:52:30 +0200 Subject: [PATCH] prevent removing attributes on custom component tags (#12702) --- .../react-dom/src/__tests__/DOMPropertyOperations-test.js | 6 ++++++ packages/react-dom/src/shared/DOMProperty.js | 3 +++ 2 files changed, 9 insertions(+) diff --git a/packages/react-dom/src/__tests__/DOMPropertyOperations-test.js b/packages/react-dom/src/__tests__/DOMPropertyOperations-test.js index aabb3e995f..08874222d5 100644 --- a/packages/react-dom/src/__tests__/DOMPropertyOperations-test.js +++ b/packages/react-dom/src/__tests__/DOMPropertyOperations-test.js @@ -155,5 +155,11 @@ describe('DOMPropertyOperations', () => { expect(container.firstChild.getAttribute('value')).toBe('foo'); expect(container.firstChild.value).toBe('foo'); }); + + it('should not remove attributes for custom component tag', () => { + const container = document.createElement('div'); + ReactDOM.render(, container); + expect(container.firstChild.getAttribute('size')).toBe('5px'); + }); }); }); diff --git a/packages/react-dom/src/shared/DOMProperty.js b/packages/react-dom/src/shared/DOMProperty.js index dd2c8f6e3a..b01c069dba 100644 --- a/packages/react-dom/src/shared/DOMProperty.js +++ b/packages/react-dom/src/shared/DOMProperty.js @@ -157,6 +157,9 @@ export function shouldRemoveAttribute( ) { return true; } + if (isCustomComponentTag) { + return false; + } if (propertyInfo !== null) { switch (propertyInfo.type) { case BOOLEAN: