mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Return early from enqueuePutListener for SSR (#6678)
(cherry picked from commit eb116482a3)
This commit is contained in:
committed by
Paul O’Shannessy
parent
b0deadc05d
commit
ff3cec5beb
@@ -34,6 +34,7 @@ var ReactDOMSelect = require('ReactDOMSelect');
|
||||
var ReactDOMTextarea = require('ReactDOMTextarea');
|
||||
var ReactMultiChild = require('ReactMultiChild');
|
||||
var ReactPerf = require('ReactPerf');
|
||||
var ReactServerRenderingTransaction = require('ReactServerRenderingTransaction');
|
||||
|
||||
var escapeTextContentForBrowser = require('escapeTextContentForBrowser');
|
||||
var invariant = require('invariant');
|
||||
@@ -207,6 +208,9 @@ function assertValidProps(component, props) {
|
||||
}
|
||||
|
||||
function enqueuePutListener(inst, registrationName, listener, transaction) {
|
||||
if (transaction instanceof ReactServerRenderingTransaction) {
|
||||
return;
|
||||
}
|
||||
if (__DEV__) {
|
||||
// IE8 has no API for event capturing and the `onScroll` event doesn't
|
||||
// bubble.
|
||||
@@ -218,10 +222,6 @@ function enqueuePutListener(inst, registrationName, listener, transaction) {
|
||||
var containerInfo = inst._nativeContainerInfo;
|
||||
var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
|
||||
var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;
|
||||
if (!doc) {
|
||||
// Server rendering.
|
||||
return;
|
||||
}
|
||||
listenTo(registrationName, doc);
|
||||
transaction.getReactMountReady().enqueue(putListener, {
|
||||
inst: inst,
|
||||
|
||||
@@ -1063,6 +1063,12 @@ describe('ReactDOMComponent', function() {
|
||||
'Warning: This browser doesn\'t support the `onScroll` event'
|
||||
);
|
||||
});
|
||||
|
||||
it('should not warn when server-side rendering `onScroll`', function() {
|
||||
spyOn(console, 'error');
|
||||
ReactDOMServer.renderToString(<div onScroll={() => {}}/>);
|
||||
expect(console.error).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe('tag sanitization', function() {
|
||||
|
||||
Reference in New Issue
Block a user