diff --git a/packages/react-dom/src/client/inputValueTracking.js b/packages/react-dom/src/client/inputValueTracking.js index aaf16061323..732a77beee8 100644 --- a/packages/react-dom/src/client/inputValueTracking.js +++ b/packages/react-dom/src/client/inputValueTracking.js @@ -70,7 +70,6 @@ function trackValueOnNode(node: any): ?ValueTracker { } Object.defineProperty(node, valueField, { - enumerable: descriptor.enumerable, configurable: true, get: function() { return descriptor.get.call(this); @@ -80,6 +79,13 @@ function trackValueOnNode(node: any): ?ValueTracker { descriptor.set.call(this, value); }, }); + // We could've passed this the first time + // but it triggers a bug in IE11 and Edge 14/15. + // Calling defineProperty() again should be equivalent. + // https://github.com/facebook/react/issues/11768 + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable, + }); const tracker = { getValue() {