From c7680aaf0e0112a95791690f4ab716f511585c2c Mon Sep 17 00:00:00 2001 From: Joel Ferreira Barbosa Date: Tue, 23 Jan 2018 14:38:16 -0300 Subject: [PATCH 1/3] fix updateWrapper causing re-render textarea, even though their data has not changed --- packages/react-dom/src/client/ReactDOMTextarea.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-dom/src/client/ReactDOMTextarea.js b/packages/react-dom/src/client/ReactDOMTextarea.js index a0b244afcd2..b31f0e71db8 100644 --- a/packages/react-dom/src/client/ReactDOMTextarea.js +++ b/packages/react-dom/src/client/ReactDOMTextarea.js @@ -136,8 +136,8 @@ export function updateWrapper(element: Element, props: Object) { if (newValue !== node.value) { node.value = newValue; } - if (props.defaultValue == null) { - node.defaultValue = newValue; + if (props.defaultValue == null && node.defaultValue !== newValue) { + node.defaultValue = newValue; } } if (props.defaultValue != null) { From c9159b1227a5bb81048ae7deac9b944f1b50591e Mon Sep 17 00:00:00 2001 From: Joel Ferreira Barbosa Date: Tue, 23 Jan 2018 15:19:51 -0300 Subject: [PATCH 2/3] fix updateWrapper causing re-render textarea, even though their data, prettier-all --- packages/react-dom/src/client/ReactDOMTextarea.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-dom/src/client/ReactDOMTextarea.js b/packages/react-dom/src/client/ReactDOMTextarea.js index b31f0e71db8..84b50060582 100644 --- a/packages/react-dom/src/client/ReactDOMTextarea.js +++ b/packages/react-dom/src/client/ReactDOMTextarea.js @@ -137,7 +137,7 @@ export function updateWrapper(element: Element, props: Object) { node.value = newValue; } if (props.defaultValue == null && node.defaultValue !== newValue) { - node.defaultValue = newValue; + node.defaultValue = newValue; } } if (props.defaultValue != null) { From 55a5686c3f74100846675b373f91dff22caf3fd7 Mon Sep 17 00:00:00 2001 From: Brandon Dail Date: Fri, 17 Aug 2018 16:07:24 -0600 Subject: [PATCH 3/3] minor changes to updateWrapper, add test --- .../src/__tests__/ReactDOMTextarea-test.js | 40 +++++++++++++++++++ .../react-dom/src/client/ReactDOMTextarea.js | 5 ++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/packages/react-dom/src/__tests__/ReactDOMTextarea-test.js b/packages/react-dom/src/__tests__/ReactDOMTextarea-test.js index c9d4a9d8a2d..2dc47a6df1a 100644 --- a/packages/react-dom/src/__tests__/ReactDOMTextarea-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMTextarea-test.js @@ -426,6 +426,46 @@ describe('ReactDOMTextarea', () => { ReactDOM.render(