diff --git a/src/renderers/dom/shared/ReactDOMComponent.js b/src/renderers/dom/shared/ReactDOMComponent.js index 5114182919491..ff1321851a5c9 100644 --- a/src/renderers/dom/shared/ReactDOMComponent.js +++ b/src/renderers/dom/shared/ReactDOMComponent.js @@ -656,7 +656,9 @@ ReactDOMComponent.Mixin = { continue; } if (registrationNameModules.hasOwnProperty(propKey)) { - enqueuePutListener(this._rootNodeID, propKey, propValue, transaction); + if (propValue) { + enqueuePutListener(this._rootNodeID, propKey, propValue, transaction); + } } else { if (propKey === STYLE) { if (propValue) { diff --git a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js index 22b10f663d72a..992a0abe00675 100644 --- a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js +++ b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js @@ -630,6 +630,10 @@ describe('ReactDOMComponent', function() { SimpleEventPlugin.willDeleteListener = mocks.getMockFunction(); var container = document.createElement('div'); + ReactDOM.render(
, container); + expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(0); + expect(SimpleEventPlugin.willDeleteListener.mock.calls.length).toBe(0); + ReactDOM.render(, container); expect(SimpleEventPlugin.didPutListener.mock.calls.length).toBe(0); expect(SimpleEventPlugin.willDeleteListener.mock.calls.length).toBe(0);