react-dom-stream icon indicating copy to clipboard operation
react-dom-stream copied to clipboard

RenderStream.maxStackDepth too low

Open aaronholsonege opened this issue 8 years ago • 0 comments

I am rendering a rather large application and the RenderStream.maxStackDepth limit of 500 it too high.

RangeError: Maximum call stack size exceeded
  at ReactCompositeComponentMixin._renderValidatedComponent (/node_modules/react-dom-stream/lib/ReactCompositeComponent.js:746:32)
  at wrapper [as _renderValidatedComponent] (/node_modules/react-dom-stream/lib/ReactPerf.js:66:21)
  at ReactCompositeComponentMixin.mountComponentAsync (/node_modules/react-dom-stream/lib/ReactCompositeComponent.js:343:30)
  at Object.ReactReconciler.mountComponentAsync (/node_modules/react-dom-stream/lib/ReactReconciler.js:44:35)
  at ReactDOMComponent.ReactMultiChild.Mixin.renderChildren (/node_modules/react-dom-stream/lib/ReactMultiChild.js:272:23)
  at /node_modules/react-dom-stream/lib/ReactMultiChild.js:274:17
  at /node_modules/react-dom-stream/lib/ReactReconciler.js:49:7
  at /node_modules/react-dom-stream/lib/ReactCompositeComponent.js:368:7
  at /node_modules/react-dom-stream/lib/ReactReconciler.js:49:7
  at /node_modules/react-dom-stream/lib/ReactDOMComponent.js:608:9
  at componentInstance.mountComponentAsync._this2.done (/node_modules/react-dom-stream/lib/ReactServerAsyncRendering.js:177:15)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  at /node_modules/react-dom-stream/lib/ReactDOMComponent.js:594:7
  at /node_modules/react-dom-stream/lib/ReactMultiChild.js:276:11
  at /node_modules/react-dom-stream/lib/ReactReconciler.js:49:7
  at /node_modules/react-dom-stream/lib/ReactCompositeComponent.js:368:7
  at /node_modules/react-dom-stream/lib/ReactReconciler.js:49:7
  at /node_modules/react-dom-stream/lib/ReactDOMComponent.js:608:9
  at componentInstance.mountComponentAsync._this2.done (/node_modules/react-dom-stream/lib/ReactServerAsyncRendering.js:177:15)
  at _createContentMarkupAsync.closeTag (/node_modules/react-dom-stream/lib/ReactDOMComponent.js:582:9)
  ... (And on for thousands of lines)

I am able to successfully render the application if I manually change the RenderStream.maxStackDepth to something like 300, but this option is not configurable through the external API.

Is there a larger issue I am missing that is causing this error? Is it possible to expose some sort of configuration API so this number can be modified externally?

aaronholsonege avatar Jul 09 '16 03:07 aaronholsonege