diff --git a/src/browser/ui/ReactDOMComponent.js b/src/browser/ui/ReactDOMComponent.js index a1c8bc2348..cf93f29b86 100644 --- a/src/browser/ui/ReactDOMComponent.js +++ b/src/browser/ui/ReactDOMComponent.js @@ -367,6 +367,7 @@ ReactDOMComponent.Mixin = { styleUpdates[styleName] = ''; } } + this._previousStyleCopy = null; } else if (registrationNameModules.hasOwnProperty(propKey)) { if (lastProps[propKey]) { // Only call deleteListener if there was a listener previously or diff --git a/src/browser/ui/__tests__/ReactDOMComponent-test.js b/src/browser/ui/__tests__/ReactDOMComponent-test.js index aabc6393bc..2f99e48453 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);