diff --git a/src/browser/ui/ReactDOMComponent.js b/src/browser/ui/ReactDOMComponent.js index 3d2c2332b8..be2b3c7b48 100644 --- a/src/browser/ui/ReactDOMComponent.js +++ b/src/browser/ui/ReactDOMComponent.js @@ -350,6 +350,7 @@ ReactDOMComponent.Mixin = { styleUpdates[styleName] = ''; } } + this._previousStyleCopy = null; } else if (registrationNameModules.hasOwnProperty(propKey)) { deleteListener(this._rootNodeID, propKey); } else if ( diff --git a/src/browser/ui/__tests__/ReactDOMComponent-test.js b/src/browser/ui/__tests__/ReactDOMComponent-test.js index 8b4a98eb07..efcfb3c01a 100644 --- a/src/browser/ui/__tests__/ReactDOMComponent-test.js +++ b/src/browser/ui/__tests__/ReactDOMComponent-test.js @@ -152,6 +152,17 @@ describe('ReactDOMComponent', function() { expect(stubStyle.color).toEqual(''); }); + it("should update styles when 'style' changes from null to object", function() { + var container = document.createElement('div'); + var styles = {color: 'red'}; + React.render(
, container); + React.render(, container); + React.render(, container); + + var stubStyle = container.firstChild.style; + expect(stubStyle.color).toEqual('red'); + }); + it("should empty element when removing innerHTML", function() { var container = document.createElement('div'); React.render(, container);