From 451fd7955e5a9ec67e7de80c9b8a5bf5ec66ad10 Mon Sep 17 00:00:00 2001 From: Islam Sharabash Date: Mon, 10 Oct 2016 13:51:10 -0700 Subject: [PATCH] Inject the previous batching strategy when rendering to string Before this change calling renderToStringImpl would inject ReactDefaultBatchingStrategy after completion, even if a custom batching strategy was injected before. This makes renderToStringImpl keep a reference to the batching strategy before it runs and reinject it afterwards. --- src/renderers/dom/server/ReactServerRendering.js | 5 +++-- src/renderers/shared/stack/reconciler/ReactUpdates.js | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/renderers/dom/server/ReactServerRendering.js b/src/renderers/dom/server/ReactServerRendering.js index ff08fe8ff09f..ea4d8d9db452 100644 --- a/src/renderers/dom/server/ReactServerRendering.js +++ b/src/renderers/dom/server/ReactServerRendering.js @@ -12,7 +12,6 @@ var React = require('React'); var ReactDOMContainerInfo = require('ReactDOMContainerInfo'); -var ReactDefaultBatchingStrategy = require('ReactDefaultBatchingStrategy'); var ReactInstrumentation = require('ReactInstrumentation'); var ReactMarkupChecksum = require('ReactMarkupChecksum'); var ReactReconciler = require('ReactReconciler'); @@ -33,7 +32,9 @@ var pendingTransactions = 0; */ function renderToStringImpl(element, makeStaticMarkup) { var transaction; + var previousBatchingStrategy; try { + previousBatchingStrategy = ReactUpdates.injection.getBatchingStrategy(); ReactUpdates.injection.injectBatchingStrategy(ReactServerBatchingStrategy); transaction = ReactServerRenderingTransaction.getPooled(makeStaticMarkup); @@ -67,7 +68,7 @@ function renderToStringImpl(element, makeStaticMarkup) { // currently share these stateful modules. if (!pendingTransactions) { ReactUpdates.injection.injectBatchingStrategy( - ReactDefaultBatchingStrategy + previousBatchingStrategy ); } } diff --git a/src/renderers/shared/stack/reconciler/ReactUpdates.js b/src/renderers/shared/stack/reconciler/ReactUpdates.js index d605c5881e2e..643b4ea426c5 100644 --- a/src/renderers/shared/stack/reconciler/ReactUpdates.js +++ b/src/renderers/shared/stack/reconciler/ReactUpdates.js @@ -272,6 +272,10 @@ var ReactUpdatesInjection = { ); batchingStrategy = _batchingStrategy; }, + + getBatchingStrategy: function() { + return batchingStrategy; + }, }; var ReactUpdates = {